Java 带有Json解析的ArrayAdapter

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

我正在做一个新闻提要系统,所以,我很难将我的ArrayAdapterInsert值与“用户名、名称、图片、内容和其他值”一起适配到ListView中。我是Android Studio的新手

在网上搜索我找到了这个功能

                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的背景更改为白色?