我有一个问题与根元素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(…);