我正在尝试将ProgressBar添加到我的row.xml视图中,但我似乎无法让它继续工作
06-09 12:44:44.802: ERROR/AndroidRuntime(1012): java.lang.IllegalStateException: android.widget.ProgressBar is not a view that can be bounds by this SimpleAdapter
ArrayList arr = new ArrayList();
HashMap map = new HashMap();
map.put("progress", 10);
arr.add(map);
String [] fieldNames = {"progress"};
int [] fieldIds = {R.id.progress};
SimpleAdapter adapter = new SimpleAdapter(this, arr, R.layout.row, fieldNames, fieldIds);
list = (ListView) findViewById(R.id.list);
list.setAdapter(adapter);
<ProgressBar android:id="@+id/progress"
style="?android:attr/progressBarStyleHorizontal"
android:max="100"
android:progress="5"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
有没有人知道我缺少什么?
答案 0 :(得分:2)
SimpleAdapter
不知道如何处理ProgressBar
。此外,ProgressBar
本身将是一个真正可怕的列表行。
请将ProgressBar
放在一些较大的行布局(带有标签等)中。您还需要创建自己的适配器类,该类将知道如何将数据绑定到ProgressBar
。
答案 1 :(得分:2)
您还可以使用SimpleAdapter.setViewBinder()
并绑定SimpleAdapter.ViewBinder
中的进度条。这允许您将内置的SimpleAdapter
功能用于其他字段。