0

这是导致错误的代码。抱歉,我的原始帖子发生了很大变化,但我现在已将所有代码放在一个地方。告诉我这是不是一个糟糕的主意。

我在为我的 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);
    }
}
4

1 回答 1

0

很难用您提供的有限信息来判断问题出在哪里:正如您所说,您发布了很多代码这一事实并不意味着您提供了正确的代码(例如,您粘贴了可能没有的大开关没关系,你没有粘贴布局......)。

我最好的猜测是调用

public Object instantiateItem(View collection, int position);

通话后立即发生:

setContentView(R.layout.pager_caf);

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

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

于 2013-03-23T21:28:51.640 回答