ListView id not valid



我有一个问题与根元素ListView的活动。我遵循本教程将项目加载到listview和所有工作中。但我试图改变listview的id,现在,当活动正在加载,我收到这个问题:

你的内容必须有一个id属性为"android.R.id.list"的ListView

我试图改变id为"列表",但我有同样的问题。我没有编译的问题,但在运行时。这是我加载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" />

有人能帮我吗?:)

如果你从ListActivity扩展,你必须让ListView的id在你的xml

(android: id ="@android: id/列表")

如果你想改变Id或使用多个ListView在你的活动比你必须从Activity扩展并自己填充一个ListView .

例如:

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

list1.setAdapter(…);

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

list2.setAdapter(…);

相关内容

最新更新