ListView ID无效

时间:2013-05-19 14:41:25

标签: android listview

我的根元素ListView活动出了问题。我已按照this tutorial将项目加载到列表视图中并且所有工作都已完成。但是我已经尝试更改列表视图的ID,现在,当活动加载时,我收到了这个问题:

  

您的内容必须包含一个ListView,其id属性为" android.R.id.list"

我重新尝试将ID更改为" list"但是我遇到了同样的问题。我在编译时遇到问题但在运行时没有问题。这是我加载listview时活动的代码。

public class StartActivity extends ListActivity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_start);

    //Section inflating
    adapter.addSection(getString(R.string.equationmenu), new ArrayAdapter<Object>(this,
            android.R.layout.simple_list_item_1, new String[] {getString(R.string.eq1title), getString(R.string.eq2title), getString(R.string.eqfractitle)}));

    setListAdapter(adapter);
}

SectionedAdapter adapter = new SectionedAdapter() {
    protected View getHeaderView(String caption, int index,
                                 View convertView, ViewGroup parent) {
        TextView result = (TextView) convertView;

        if (convertView == null) {
            result = (TextView) getLayoutInflater().inflate(
                    R.layout.header, null);
        }

        result.setText(caption);

        return (result);
    }
};
}

这是活动的xml:

<?xml version="1.0" encoding="utf-8"?>
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:drawSelectorOnTop="true" />

任何人都可以帮助我吗? :)

1 个答案:

答案 0 :(得分:0)

如果从ListActivity扩展,则必须在xml

中包含ListView的id
  

(机器人:ID = “@机器人:ID /列表”)

如果您想更改ID或在Activity中使用多个ListView,则必须使用 从Activity扩展并自己给ListView充气..

例如如下:

  

ListView list1 =(ListView)findViewById(R.id.myList1);   list1.setAdapter(...);

     

ListView list2 =(ListView)findViewById(R.id.myList2);   list2.setAdapter(...);