android:如何在扩展ListActivity时填充自定义布局

时间:2013-01-18 21:14:09

标签: android android-layout android-listview

我需要扩展ListActivity并填充自定义布局,以便我执行以下操作

public class BizList extends ListActivity {

String bizNames[]={"one", "two","theree","four"};

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.bizlist);

    //ListView listviewMe = (ListView)findViewById(android.R.id.list);
    //ListView listview = this.getListView();

    setListAdapter(new ArrayAdapter<String>(this, android.R.id.list, bizNames));

/*  ListView list1 = (ListView) findViewById(R.id.listView1);
        list1.setAdapter(new ArrayAdapter<String>(getApplicationContext(),R.layout.list_item,startDates_str));;*/

}

我布局中的ListView是

  <ListView
        android:id="@id/android:list"//***have also tried*** android:id="@android:id/list"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_below="@+id/imageView2"
        android:layout_centerHorizontal="true" >

    </ListView>

但我一直收到此错误

android.content.res.resources $ notfoundexception:文件格式xml类型布局资源ID

非常感谢任何和所有帮助。我希望这很简单。 thx agin。

2 个答案:

答案 0 :(得分:0)

如果你想将它添加到你必须写的资源中 android:id =“@ + id / listView”你忘记了“+”

    <ListView
                android:id="@+id/listView"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_below="@+id/imageView2"
                android:layout_centerHorizontal="true" >

   </ListView>

在你的onCreate方法

ListView lv = (ListView) findViewById(R.id.listView);

ArrayAdapter<String> myadpater = new ArrayAdapter<String>(
                        this, android.R.layout.simple_list_item_1, bizNames);
lv.setAdapter(myadpater);

希望它现在有效。请投票如果正确

答案 1 :(得分:0)

首先,ListActivity自动查找列表,资源ID必须是......

android:id="@android:id/list"

其次,在创建ArrayAdapter时,不要将ListView本身的id传递给构造函数。相反,您应该传递列表项布局的资源ID。

试试这个......

setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, bizNames));