遇到NullPointer和ListView的问题

时间:2013-03-23 20:37:19

标签: java android

这是导致错误的代码。对不起,我从原来的帖子中做了很多改动,但我现在已将所有代码放在一个地方。告诉我这是不是很糟糕。

我在为ListView

设置myArrayAdapter的行上出现了错误
public class DisplayCaf extends Activity implements OnNavigationListener {
    private static final String STATE_SELECTED_NAVIGATION_ITEM = null;
    //Holds items.
    ArrayList<String> menuArray;
    //String adapter for ListView
    ArrayAdapter<String> myArrayAdapter;
    //set listView
    ListView listView;


    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.pager_caf);

        listView = (ListView)findViewById(R.id.listView);
        menuArray = new ArrayList<String>();

        //set up the adapter for listView
        myArrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, menuArray);
        //connect adapter to feed info to listView
        listView.setAdapter(myArrayAdapter);
    }
}

1 个答案:

答案 0 :(得分:0)

很难说你提供的信息有限,问题是什么:正如你所说,你发布了很多代码的事实并不意味着你提供了正确的代码(例如你粘贴了那个大开关)这可能没关系,你没有粘贴布局......)。

我最好的猜测就是打电话给

public Object instantiateItem(View collection, int position);

在电话会议后发生:

setContentView(R.layout.pager_caf);

因此适配器永远不会被初始化。

如果你想更清楚地了解正在发生的事情,请先帮助自己:在这里和那里放置几个Log.d(就在instantiateItem的开头,在setContentView之前和之后可能是一个好的开始...) ,将问题减少到基本部分(将其一分为二,直到只剩下bug)并发布剩余的代码(以及日志)。