目前我的ListView显示以下内容:
对象[id = 1,name = Object 1,...]
对象[id = 2,name = Object 2,...]
对象[id = 3,name = Object 3,...]
List<Object> listObject = getObjectListFromJson(jSonObjects);
ArrayAdapter<Object> objectArrayAdapter = new ArrayAdapter<Object>(this, android.R.layout.simple_list_item_1, android.R.id.text1, listObject);
我想只显示JSON的“name”值,如:
对象1
对象2
对象3
我是否需要编写自定义适配器,或者是否有办法使用默认适配器获取“name”变量?
抱歉,我是Android开发和stackoverflow的初学者。问我是否需要更多信息。
答案 0 :(得分:0)
在
List<Object> listObject = getObjectListFromJson(jSonObjects);
DO
List<String> nameList = new ArrayList<String>();
for (int i=0; i<listObject.size(); i++) {
nameList.add(listObject.get(i).name); // Change ".name" to the appropriate way to get the name of the object. It depends on the object
}
并更改
ArrayAdapter<Object> objectArrayAdapter = new ArrayAdapter<Object>(this, android.R.layout.simple_list_item_1, android.R.id.text1, listObject);
到
ArrayAdapter<String> objectArrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, nameList);
答案 1 :(得分:0)
如果你有getObjectListFromJson创建一些自定义对象类型来保存ID和名称,那么你需要做的就是在该类上添加一个toString方法来返回名称部分。例如:
class MyObject {
long id;
String name;
public String toString() { return name; }
}
List<MyObject> listObject = getObjectListFromJson(jSonObjects);
ArrayAdapter<MyObject> objectArrayAdapter = new ArrayAdapter<Object>(this, android.R.layout.simple_list_item_1, android.R.id.text1, listObject);