Java SimpleAdapter中的ProgressBar
我试图在row.xml视图中添加一个ProgressBar,但我一直在努力,似乎无法使它正常工作Java SimpleAdapter中的ProgressBar,java,android,Java,Android,我试图在row.xml视图中添加一个ProgressBar,但我一直在努力,似乎无法使它正常工作 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(); Has
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"
/>
06-09 12:44:44.802:ERROR/AndroidRuntime(1012):java.lang.IllegalStateException:android.widget.ProgressBar不是一个可以被这个SimpleAdapter绑定的视图
ArrayList arr=新的ArrayList();
HashMap=newHashMap();
地图放置(“进度”,第10页);
arr.add(地图);
字符串[]字段名={“进度”};
int[]fieldid={R.id.progress};
simpledapter adapter=新的simpledapter(this、arr、R.layout.row、fieldNames、fieldid);
list=(ListView)findViewById(R.id.list);
list.setAdapter(适配器);
有人知道我遗漏了什么吗?
SimpleAdapter
不知道如何处理ProgressBar
。此外,ProgressBar
本身将是一个非常糟糕的列表行
请将
ProgressBar
放在某个较大的行布局内(带有标签等)。您还需要创建自己的适配器类,该类将知道如何将数据绑定到ProgressBar
您还可以使用simpledapter.setViewBinder()
并在simpledapter.ViewBinder
中绑定进度条。这允许您将内置的simpledapter
功能用于其他字段。谢谢。我通过扩展基本适配器制作了自己的。