Android列表视图:未找到资源异常

时间:2011-11-08 12:44:29

标签: android exception listview android-layout

我在Android中遇到了Listview的问题。 然后我尝试将适配器设置为listview,我得到了Resource Not Found Exception。

我的代码:

public class MyActivity extends Activity {
    ArrayList<String> list;

    public void onCreate(Bundle savedInstanceState) {
        list = new ArrayList<String>();
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        list.add("first");

        listView = (ListView)findViewById(R.id.CheckpointList);
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.id.CheckpointList, list);
        listView.setAdapter(adapter);
    }
}

在我的main.xml中我得到了:

<ListView android:id="@+id/CheckpointList" android:layout_height="wrap_content" android:layout_width="fill_parent"></ListView>

我试图清理和改造项目 - 没有效果......

如何解决这个问题?

干杯。

2 个答案:

答案 0 :(得分:11)

您交给ArrayAdapter的资源不应该是ListView的id。它应该是textViewResourceId - 基本上是你希望列表中的项目呈现为TextView-layout-id的那个。

其中一个标准是android.R.layout.simple_list_item_1

以下是一个简单的ListView示例:

public class ListviewExample extends Activity
{
    private ListView listView;
    private String listView_data[] = {"Android","iPhone","BlackBerry","AndroidPeople"};

    @Override
    public void onCreate(Bundle icicle)
    {
        super.onCreate(icicle);
        setContentView(R.layout.main);
        listView = (ListView) findViewById(R.id.ListView1);
        // By using setAdapter method in listview we add the string array to the ListView.
        listView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1 , listView_data));
    }
}

答案 1 :(得分:3)

您移交给ArrayAdapter的资源不应该是listview的id。它应该是listview中textview的布局资源。查看文档:{​​{3}}