我有问题将arraylist添加到列表视图,这里将解释我的问题..告诉我这里有什么问题...我有三个线性布局,并且在中间布局我有列表视图,如xml所示文件如下.. `
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="0.59"
android:src="@drawable/x_title" />
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout_grouplist"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.09"
android:orientation="vertical"
android:weightSum="1" >
<ListView
android:id="@+id/listview_grouplist"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" >
</ListView>
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout2"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.39"
android:text="TextView" />
<Button
android:id="@+id/button5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</LinearLayout>
</LinearLayout>`
当我尝试使用数组适配器将项添加到列表时,它对我来说工作正常..但它不适用于List Adapter。它崩溃了。
ListAdapter adapter = new SimpleAdapter(this,
mylist,
R.layout.grouplistlayout,
new String[] { "Group Name" },
new int[] { R.id.listview_grouplist });
String[] values = new String[] { "Android", "iPhone", "WindowsMobile",
"Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X",
"Linux", "OS/2" };
ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, values);
lst_projlist.setAdapter(adapter1);
有人可以告诉我这里缺少什么吗?
答案 0 :(得分:5)
你的问题在这里:
R.layout.grouplistlayout,
new int[] { R.id.listview_grouplist });
最上面一个应该指向列表布局,例如android.R.layout.simple_list_item_1
底部应该指向TextView,而不是列表视图。
另外,我没有看到你将适配器绑定到listview的位置。
public SimpleAdapter(Context context,
List<? extends Map<String, ?>> data,
int resource,
String[] from,
int[] to)
自:API Level 1
构造
的参数强>
上下文 与此SimpleAdapter关联的视图正在运行的上下文
数据 地图列表。列表中的每个条目对应于列表中的一行。地图包含每行的数据,并应包括“from”中指定的所有条目 资源 视图布局的资源标识符,用于定义此列表项的视图。布局文件应至少包括“to”中定义的那些命名视图 来自 将添加到与每个项目关联的地图的列名列表。
到 应在“from”参数中显示列的视图。这些都应该是TextViews。此列表中的前N个视图将给出from参数中前N列的值。
答案 1 :(得分:1)
如果您使用Activity进行扩展,那么您必须使用setAdapter AND,如果您使用ListActivity进行扩展,那么您应该使用setListAdapter而不需要使用xml文件..
在这里,我认为你正在使用Activity扩展,然后不需要使用setListAdapter ..
答案 2 :(得分:0)
只需替换您的ListView代码。
<ListView
android:id="@id/android:list"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
</ListView>
这将使您的应用完全运行。
答案 3 :(得分:0)
在下面,检查您传递的参数
ListAdapter adapter = new SimpleAdapter(this,
mylist,
R.layout.grouplistlayout,
new String[] { "Group Name" },
new int[] { R.id.listview_grouplist });
myList
地图吗?to
应包含映射到from
参数的资源中提到的文本视图。