Java 带有Json解析的ArrayAdapter
我正在做一个新闻提要系统,所以,我很难将我的ArrayAdapterInsert值与“用户名、名称、图片、内容和其他值”一起适配到ListView中。我是Android Studio的新手 在网上搜索我找到了这个功能Java 带有Json解析的ArrayAdapter,java,android,json,xml,android-studio,Java,Android,Json,Xml,Android Studio,我正在做一个新闻提要系统,所以,我很难将我的ArrayAdapterInsert值与“用户名、名称、图片、内容和其他值”一起适配到ListView中。我是Android Studio的新手 在网上搜索我找到了这个功能 HashMap<String,String> persons = new HashMap<String,String>(); persons.put(TAG_ID,id); p
HashMap<String,String> persons = new HashMap<String,String>();
persons.put(TAG_ID,id);
persons.put(TAG_NAME,name);
persons.put(TAG_ADD,address);
personList.add(persons);
}
ListAdapter adapter = new SimpleAdapter(
MainActivity.this, personList, R.layout.list_item,
new String[]{TAG_ID,TAG_NAME,TAG_ADD},
new int[]{R.id.id, R.id.name, R.id.address}
);
list.setAdapter(adapter);
HashMap persons=newhashmap();
人员。放置(标签号,ID);
人员。放置(标签名称、姓名);
人员。放置(标签、地址);
personList.add(个人);
}
ListAdapter=新的SimpleAdapter(
MainActivity.this,personList,R.layout.list\u项,
新字符串[]{TAG_ID,TAG_NAME,TAG_ADD},
新int[]{R.id.id,R.id.name,R.id.address}
);
list.setAdapter(适配器);
但是,我使用ArrayList和ArrayAdapter:
ArrayList<Post> postList =
new JsonConverter<Post>().toArrayList(s, Post.class);
ArrayList<String> postador = new ArrayList<String>();
for(Post value: postList){
postador.add(value.id_postador);
postador.add(value.post_legenda);
if(value.post_foto != null) {
postador.add(value.post_foto);
}
postador.add(value.post_data);
postador.add(value.curtidas);
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
MainActivity.this,
android.R.layout.simple_list_item_1, postador
);
lvPost.setAdapter(adapter);
ArrayList postList=
新建JsonConverter().toArrayList(s,Post.class);
ArrayList postador=新的ArrayList();
for(Post值:postList){
邮递地址添加(value.id\u邮递地址);
邮资增值(增值邮资);
if(value.post_foto!=null){
邮资增值(增值邮资);
}
postador.add(value.post_数据);
邮资增值(增值税);
}
ArrayAdapter适配器=新的ArrayAdapter(
这个,,
android.R.layout.simple\u list\u item\u 1,postador
);
lvPost.setAdapter(适配器);
我试过了,但没有成功
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
MainActivity.this,
R.layout.list_item, postador, new String[]{TAG_ID,TAG_NAME,TAG_ADD},
new int[]{R.id.id, R.id.name, R.id.address}
);
ArrayAdapter适配器=新的ArrayAdapter(
这个,,
R.layout.list_项,postador,新字符串[]{TAG_ID,TAG_NAME,TAG_ADD},
新int[]{R.id.id,R.id.name,R.id.address}
);
ArrayAdapter或adapter my ArrayAdapter for ListAdapter中是否有转换ListAdapter的方法?如果您是Android新手,我想向您推荐几件事 1)。从头开始使用,而不是ListView。它是ListView的更高级、更灵活、更高效的版本。您可以找到RecyclerView和 2)。如果仍要使用ListView。然后您还有两个选项,使用或 a)。顾名思义,基本适配器是所有适配器的基类。如果你需要更多的灵活性,你可以选择。您可以找到演示示例和 b)。另一方面,ArrayAdapter是一个具体的BaseAdapter,由任意对象数组支持。默认情况下,此类要求提供的资源id引用单个TextView。如果要使用更复杂的布局,请使用同时具有字段id的构造函数。该字段id应引用较大布局资源中的TextView。例如,要使用TextView以外的内容(如您的情况)进行阵列显示,ImageViews,或者要让除
toString()
结果之外的一些数据填充视图,请覆盖getView(int,View,ViewGroup)
以返回所需的视图类型。您可以找到演示示例和
希望这将有助于你在未来,而且我想你会得到答案,你的问题在指定的演示样本。谢谢,祝你有一个愉快的一天:) 谢谢,这个方法解决了我的问题。我很难理解这个方法,但在我成功之后。哈哈,谢谢!这是我项目的结果,一个早期版本。但是有一种方法可以将cardview的背景更改为白色?