Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java listView setAdapter空指针异常?_Java_Android_Android Listview_Android Adapter_Baseadapter - Fatal编程技术网

Java listView setAdapter空指针异常?

Java listView setAdapter空指针异常?,java,android,android-listview,android-adapter,baseadapter,Java,Android,Android Listview,Android Adapter,Baseadapter,我读了很多关于这种情况的帖子,但找不到哪里错了,我需要你的帮助结束建议:) 我试着制作一个显示搜索结果的概览。用户发布搜索键。我必须解析从web服务返回的json对象,并在popoverView中显示结果。我不认为问题出在我的parseJson类中,因为当ı尝试只使用parseJson类时,它工作得很好,所以ı不要在这里接受 ParseJsonSearchItem是parse类,SearchAdapter是costum适配器类 在这种情况下花2天时间,但我没有任何解决方案,请帮助我 注:对不起,

我读了很多关于这种情况的帖子,但找不到哪里错了,我需要你的帮助结束建议:)

我试着制作一个显示搜索结果的概览。用户发布搜索键。我必须解析从web服务返回的json对象,并在popoverView中显示结果。我不认为问题出在我的parseJson类中,因为当ı尝试只使用parseJson类时,它工作得很好,所以ı不要在这里接受

ParseJsonSearchItem是parse类,SearchAdapter是costum适配器类

在这种情况下花2天时间,但我没有任何解决方案,请帮助我

注:对不起,我的英语

这是设置适配器的主要活动

package com.ip_dergi;

import org.brickred.socialauth.android.DialogListener;
import org.brickred.socialauth.android.SocialAuthAdapter;
import org.brickred.socialauth.android.SocialAuthAdapter.Provider;
import org.brickred.socialauth.android.SocialAuthError;
import org.brickred.socialauth.android.SocialAuthListener;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Point;
import android.graphics.Typeface;
import android.os.Bundle;
import android.os.StrictMode;
import android.util.Log;
import android.view.Display;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.inputmethod.EditorInfo;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import android.widget.TextView.OnEditorActionListener;
import android.widget.Toast;

import com.daniel.lupianez.casares.PopoverView;
import com.daniel.lupianez.casares.PopoverView.PopoverViewDelegate;
import com.ip_dergi.loader.ImageLoader;
import com.ip_dergi.utils.ParseJsonSearchItem;
import com.ip_dergi.utils.SearchAdapter;
import com.ip_dergi.utils.Singleton;
import com.ip_dergi.utils.Singleton1;
import com.ip_dergi.utils.Typefaces;
import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;

//içerik göstermek için içinde textVİew image view falan olacak

public class ItemContent extends Activity implements View.OnClickListener,
        PopoverViewDelegate, OnItemClickListener, OnEditorActionListener {

    TextView contentTxt, contentHeader;
    ImageView contentİmage;
    Intent intent;

    private Typefaces typeFaceTwitter;

    Typeface KlavikaMedium, KlavikaRegular;
    View menuButton;
    Button shareButton;
    View videoButton, backButton;
    TextView contentCategoryName;

    EditText searchEditText;
    ImageButton searcButton;
    SlidingMenu smenu;
    ListView lvSliding, lvSearch;

    PopoverView popoverView;
    boolean sendEmail = false, twittera = false, searchEditTextVisible = false;
    int screenWidth, screenHeight;
    ParseJsonSearchItem parseJsonSearchItem;
    SearchAdapter searchAdapter;

    private SocialAuthAdapter adapter;

    private StringBuilder message;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // getWindow().requestFeature(Window.FEATURE_ACTION_BAR);
        setContentView(R.layout.activity_item_content);
        getScreenDimensions();

        // ------------------------------------- slidingMenu
        smenu = new SlidingMenu(this);
        smenu.setMode(SlidingMenu.LEFT);
        smenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
        smenu.setShadowWidth(25);
        smenu.setFadeDegree(0.0f);
        smenu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
        smenu.setBehindWidth(250);
        smenu.setMenu(R.layout.sliding_menu1);

        lvSliding = (ListView) findViewById(R.id.listView_sliding_menu);
        lvSliding.setOnItemClickListener(this);

        Singleton b = Singleton.getInstance();
        ListAdapter adapter1 = new SimpleAdapter(ItemContent.this,
                b.getContentCategoryName(), R.layout.list_item, new String[] {
                        "catName", "id" }, new int[] { R.id.categoryName,
                        R.id.categoryID });
        lvSliding.setAdapter(adapter1);
        //--------------------------------------

        // ----------------------------------------------- social login
        adapter = new SocialAuthAdapter(new ResponseListener());
        adapter.addProvider(SocialAuthAdapter.Provider.FACEBOOK,
                R.drawable.white_color);
        message = new StringBuilder();
        //-------------------------------------------------

        lvSearch = (ListView) findViewById(R.id.search_item_listview);
        searchAdapter = new SearchAdapter(this, getApplication());
        lvSearch.setAdapter(searchAdapter);  // ***SETADAPTER HERE***

        searchEditText = (EditText) findViewById(R.id.searchEditText);
        searchEditText.setOnEditorActionListener(this);
        menuButton = (View) findViewById(R.id.menuButton);
        menuButton.setOnClickListener(this);
        shareButton = (Button) findViewById(R.id.share_button_view);
        shareButton.setOnClickListener(this);
        videoButton = (View) findViewById(R.id.video_button_view);
        videoButton.setOnClickListener(this);
        backButton = (View) findViewById(R.id.back_button_view);
        backButton.setOnClickListener(this);
        searcButton = (ImageButton) findViewById(R.id.searchButton);
        searcButton.setOnClickListener(this);

        KlavikaMedium = Typeface.createFromAsset(getAssets(),
                "font/Klavika-Medium.otf");
        KlavikaRegular = Typeface.createFromAsset(getAssets(),
                "font/KlavikaRegular-Plain.otf");

        typeFaceTwitter = new Typefaces();

        contentTxt = (TextView) findViewById(R.id.item_content_txt);
        contentTxt.setTypeface(KlavikaRegular);
        contentHeader = (TextView) findViewById(R.id.item_content_header);
        contentHeader.setTypeface(KlavikaMedium);
        contentİmage = (ImageView) findViewById(R.id.item_content_image);
        contentCategoryName = (TextView) findViewById(R.id.contentCategoryName);

        intent = getIntent();
        contentHeader.setText(intent.getStringExtra("contentHeader"));
        contentTxt.setText(intent.getStringExtra("contentTxt"));
        contentCategoryName.setText(intent
                .getStringExtra("contentCategoryName"));

        ImageLoader imgLoader = new ImageLoader(ItemContent.this);
        imgLoader.DisplayImage(intent.getStringExtra("contentİmageUrl"),
                R.anim.progress_anim, contentİmage);

    }

    @Override
    public void onClick(View view) {
        // TODO Auto-generated method stub

        switch (view.getId()) {

        case R.id.searchButton:

            if (searchEditTextVisible == false) {
                searchEditText.setVisibility(View.VISIBLE);
                searchEditTextVisible = true;

            } else {
                searchEditText.setVisibility(View.GONE);
                searchEditText.setText("");
                searchEditTextVisible = false;
            }

            break;
        case R.id.menuButton:
            smenu.toggle();
            break;
        case R.id.back_button_view:
            finish();
            break;
        case R.id.video_button_view:

            break;
        case R.id.share_button_view:

            popoverViewShare(view);

            TextView faceText = (TextView) popoverView
                    .findViewById(R.id.facebookButton);
            faceText.setTypeface(KlavikaMedium);
            faceText.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub

                    authorize(Provider.FACEBOOK);

                }
            });

            TextView twitText = (TextView) popoverView
                    .findViewById(R.id.twitterButton);
            twitText.setTypeface(typeFaceTwitter.get(getApplicationContext(),
                    "font/PICOBLA_.TTF"));
            twitText.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    Toast.makeText(getApplicationContext(), "click twitter",
                            Toast.LENGTH_LONG).show();

                }
            });

            TextView emailText = (TextView) popoverView
                    .findViewById(R.id.emailButton);

            emailText.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    sendEmail();
                    if (sendEmail == false) {
                        Log.d("sendEmail", "faild");
                    } else {
                        Log.d("sendEmail", "succes");
                        sendEmail = false;
                    }

                }
            });

            Log.d("ıtemContent", "share button press");

            break;

        default:
            break;
        }

    }

    private void authorize(final Provider provider) {
        adapter.authorize(ItemContent.this, provider);
        Toast.makeText(getApplicationContext(), "connect facebook",
                Toast.LENGTH_SHORT).show();
    }

    private void sendEmail() {
        final Intent intentEmail = new Intent(Intent.ACTION_SEND);
        intentEmail.setType("text/plain");
        intentEmail.putExtra(Intent.EXTRA_SUBJECT,
                intent.getStringExtra("contentHeader"));
        intentEmail.putExtra(Intent.EXTRA_TEXT,
                intent.getStringExtra("contentTxt"));

        startActivity(Intent.createChooser(intentEmail, "Send Email"));
        sendEmail = true;

    }

    private final class ResponseListener implements DialogListener {
        @Override
        public void onCancel() {
        }

        @Override
        public void onBack() {
        }

        @Override
        public void onComplete(final Bundle values) {
            if (message.length() >= 0) {
                StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
                        .permitAll().build();
                StrictMode.setThreadPolicy(policy);
                if (adapter.getCurrentProvider().getProviderId()
                        .equalsIgnoreCase("facebook")) {
                    adapter.updateStory("Ip Dergi tarafından gönderildi",
                            intent.getStringExtra("contentHeader"), "",
                            intent.getStringExtra("contentTxt"), "",
                            intent.getStringExtra("contentİmageUrl"),
                            new MessageListener());

                    Log.d("send", "facebook");
                } else
                    adapter.updateStatus(message.toString(),
                            new MessageListener(), false);

            }

        }

        @Override
        public void onError(SocialAuthError socialAuthError) {
        }

        private final class MessageListener implements
                SocialAuthListener<Integer> {
            @Override
            public void onExecute(String provider, Integer status) {
                if (status == 200 || status == 201 || status == 204)
                    Toast.makeText(ItemContent.this,
                            "gönderildi : " + provider, Toast.LENGTH_LONG)
                            .show();
                else
                    Toast.makeText(ItemContent.this,
                            "Gönderilemedi" + provider, Toast.LENGTH_LONG)
                            .show();
            }

            @Override
            public void onError(SocialAuthError e) {
            }
        }
    }

    @Override
    public void popoverViewWillShow(PopoverView view) {
        // TODO Auto-generated method stub

    }

    @Override
    public void popoverViewDidShow(PopoverView view) {
        // TODO Auto-generated method stub

    }

    @Override
    public void popoverViewWillDismiss(PopoverView view) {
        // TODO Auto-generated method stub

    }

    @Override
    public void popoverViewDidDismiss(PopoverView view) {
        // TODO Auto-generated method stub

    }

    public void getScreenDimensions() {

        Display display = getWindowManager().getDefaultDisplay();
        Point size = new Point();
        display.getSize(size);
        screenWidth = size.x;
        screenHeight = size.y;

        Toast.makeText(
                getApplicationContext(),
                "width" + Integer.toString(screenWidth) + "heigt"
                        + Integer.toString(screenHeight), Toast.LENGTH_LONG)
                .show();

    }

    public void popoverViewShare(View view) {

        RelativeLayout rootPopoView = (RelativeLayout) findViewById(R.id.content_item_layout);
        popoverView = new PopoverView(this, R.layout.share_item);
        popoverView.setContentSizeForViewInPopover(new Point(250, 250));
        popoverView.setDelegate(this);
        popoverView.showPopoverFromRectInViewGroup(rootPopoView,
                popoverView.getFrameForView(view),
                popoverView.PopoverArrowDirectionDown, true);

    }

    public void popoverViewSearch(View view) {

        RelativeLayout rootPopoView = (RelativeLayout) findViewById(R.id.content_item_layout);
        popoverView = new PopoverView(this, R.layout.search_result_listview);

        if (screenHeight > screenWidth) {
            popoverView.setContentSizeForViewInPopover(new Point(
                    screenWidth - 100, screenHeight / 2));

        } else {
            popoverView.setContentSizeForViewInPopover(new Point(
                    screenWidth / 2, screenHeight));
        }

        popoverView.showPopoverFromRectInViewGroup(rootPopoView,
                popoverView.getFrameForView(view),
                popoverView.PopoverArrowDirectionUp, true);

    }

    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position,
            long İd) {
        // TODO Auto-generated method stub

        switch (parent.getId()) {
        case R.id.listView_sliding_menu:

            Singleton1 x = Singleton1.getInstance();
            x.setContentItemSelection(((TextView) view
                    .findViewById(R.id.categoryID)).getText().toString());
            Log.d("ıtemContent",
                    ((TextView) view.findViewById(R.id.categoryID)).getText()
                            .toString());

            finish();

            break;

        default:
            break;
        }

    }

    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        View searchView = findViewById(R.id.searchButton);
        // TODO Auto-generated method stub
        if (actionId == EditorInfo.IME_ACTION_SEARCH) {
            Toast.makeText(getApplicationContext(), searchEditText.getText(),
                    Toast.LENGTH_LONG).show();

            if (searchEditText != null) {

                String searchKey = searchEditText.getText().toString();
                popoverViewSearch(searchView);
                parseJsonSearchItem = new ParseJsonSearchItem(ItemContent.this,
                        this.getApplication(),searchAdapter);

                parseJsonSearchItem.execute(searchKey);
            }

            return true;
        }
        return false;
    }

}
我猜一下(你真的需要回答前面的问题,第115行在哪里)

在getView中,当convertView为空时,可以正确地膨胀新视图:

   if (convertView == null) {
        SearchHolder holder = new SearchHolder();
        view = View.inflate(mContext, R.layout.search_row_item, null);
        ...
    } else {
        return convertView;
    }

然后再进行一些初始化。我怀疑NOTNULL情况也需要进行初始化。例如,当convertView为null时,从数组中获取“utils”,并将其用于某些初始化。但是当您重新使用convertView时,您似乎保留了属于旧“位置”的旧值,而不是当前值。

您能指出第115行的内容吗。以下跟踪由:com.ip_dergi.ItemContent.onCreate(ItemContent.java:115)引起,您正试图从null objectError访问某些内容。错误发生在com.ip_dergi.ItemContent.onCreate(ItemContent.java:115)的第115行:
。第115行在哪里?第115行是调用lvSearch.setAdapter(searchAdapter)的地方。在尝试使用它之前,请检查searchAdapter是否为空。我想你会发现的。最后我找到了我错的地方谢谢大家的帮助:)问题是lvSearch返回null我必须更改它。我创建了一个新的适配器。它只是extedns BaseAdapter在getView方法中什么都不做,它只有构造函数和另一个BaseAdapter方法。但ı仍然有同样的问题。
<?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <ListView
            android:id="@+id/search_item_listview"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true" >
        </ListView>

    </RelativeLayout>
    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="150dp"
        android:layout_marginTop="15dp"
        android:background="@color/white"
        android:minHeight="70dp" 
        android:id="@+id/search_listview_row">

        <ImageView
            android:id="@+id/searchImage"
            android:layout_width="150dp"
            android:layout_height="match_parent"
            android:layout_alignParentLeft="true"
            android:background="@color/gray"
            android:scaleType="fitXY" />

        <TextView
            android:id="@+id/searchDesc"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_marginLeft="17dp"
            android:layout_marginTop="10dp"
            android:layout_toRightOf="@+id/searchImage"
            android:text="Some text"
            android:textColor="@color/black"
            android:textSize="16sp" />

        <TextView
            android:id="@+id/searchCategory"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/searchDesc"
            android:layout_centerVertical="true"
            android:layout_marginLeft="17dp"
            android:layout_marginTop="10dp"
            android:layout_toRightOf="@+id/searchImage"
            android:text="Some text"
            android:textColor="@color/black"
            android:textSize="16sp" />

        <TextView
            android:id="@+id/searchDate"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/searchCategory"
            android:layout_marginLeft="17dp"
            android:layout_toRightOf="@+id/searchImage"
            android:text="Some text"
            android:textColor="@color/black"
            android:textSize="16sp" />

    </RelativeLayout>
10-03 04:44:26.201: E/ViewRootImpl(20281): sendUserActionEvent() mView == null
10-03 04:44:29.431: E/AndroidRuntime(20281): FATAL EXCEPTION: main
10-03 04:44:29.431: E/AndroidRuntime(20281): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.ip_dergi/com.ip_dergi.ItemContent}: java.lang.NullPointerException
10-03 04:44:29.431: E/AndroidRuntime(20281):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2245)
10-03 04:44:29.431: E/AndroidRuntime(20281):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2295)
10-03 04:44:29.431: E/AndroidRuntime(20281):    at android.app.ActivityThread.access$700(ActivityThread.java:150)
10-03 04:44:29.431: E/AndroidRuntime(20281):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1280)
10-03 04:44:29.431: E/AndroidRuntime(20281):    at android.os.Handler.dispatchMessage(Handler.java:99)
10-03 04:44:29.431: E/AndroidRuntime(20281):    at android.os.Looper.loop(Looper.java:137)
10-03 04:44:29.431: E/AndroidRuntime(20281):    at android.app.ActivityThread.main(ActivityThread.java:5279)
10-03 04:44:29.431: E/AndroidRuntime(20281):    at java.lang.reflect.Method.invokeNative(Native Method)
10-03 04:44:29.431: E/AndroidRuntime(20281):    at java.lang.reflect.Method.invoke(Method.java:511)
10-03 04:44:29.431: E/AndroidRuntime(20281):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
10-03 04:44:29.431: E/AndroidRuntime(20281):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
10-03 04:44:29.431: E/AndroidRuntime(20281):    at dalvik.system.NativeStart.main(Native Method)
10-03 04:44:29.431: E/AndroidRuntime(20281): Caused by: java.lang.NullPointerException
10-03 04:44:29.431: E/AndroidRuntime(20281):    at com.ip_dergi.ItemContent.onCreate(ItemContent.java:115)
10-03 04:44:29.431: E/AndroidRuntime(20281):    at android.app.Activity.performCreate(Activity.java:5267)
10-03 04:44:29.431: E/AndroidRuntime(20281):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1097)
10-03 04:44:29.431: E/AndroidRuntime(20281):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2209)
10-03 04:44:29.431: E/AndroidRuntime(20281):    ... 11 more
   if (convertView == null) {
        SearchHolder holder = new SearchHolder();
        view = View.inflate(mContext, R.layout.search_row_item, null);
        ...
    } else {
        return convertView;
    }