【发布时间】:2017-03-17 21:00:23
【问题描述】:
我是 android 新手,需要帮助。我找不到解释我要问什么的链接,这就是我在这里问的原因。
我有一个只有一种布局的列表视图。
我的 customLayout 有一些文本视图和图像,所有这些都是我从一个 json 对象中的 2 个 jsonArrays 获得的。
文本1 文本2 图像1
我想从 2 个不同的数组列表中填充此布局。
我从我的 web 服务上的 2 个 jsonArrays 中得到这个数组列表。
我的课很简单,像这样:
public class Example{
private String text;
private String text2;
private String imageLink;
Constructor...
Getter and Setter...
}
我可以将 ArrayList1 的值放入 customLayout 中,但不能将 ArrayList2 的值放入。
像这样:
public class CustomListAdapterStreams extends ArrayAdapter<StreamsData> {
ArrayList<MyClass> ArrayList;
ArrayList<MyClass> ArrayList2;
Context context;
int resource;
public CustomListAdapterStreams(Context context, int resource, ArrayList<MyClass> ArrayList, ArrayList<MyClass> ArrayList2;) {
super(context, resource, ArrayList);
this.ArrayList= ArrayList;
this.context = context;
this.resource = resource;
this.ArrayList2= ArrayList2;
}
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
if (convertView == null){
LayoutInflater layoutInflater = (LayoutInflater) getContext().getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
convertView = layoutInflater.inflate(R.layout.activity_custom_list_adapter, null);
}
MyClass myclass= ArrayList.get(position);
String getUsername = myclass.getUsername();
String quality = myclass.getQuality();
TextView txtUsername = (TextView) convertView.findViewById(R.id.txtUsername);
txtUsername.setText(getUsername);
and so on
所以我需要了解如何在相同的视图中放入相同的自定义布局,在动态上,不同的值。就像 Array List 1 什么都没有时一样,用 Array List 2 的值填充列表的其余部分。
编辑:
回答说我应该将两个 json 数组放在同一个数组列表中。
由于一个菜鸟的错误,我认为我不应该将两个 JSONArray 混合到同一个 ArrayList 中,但这解决了我的问题。
谢谢巫师,我知道这是个愚蠢的问题。这里是菜鸟的错误。
【问题讨论】:
-
为什么不能在从服务器接收到列表后,直接合并列表中的数据?
-
您可以将两个数组列表合并到一个数组列表中,并将其用于您的自定义列表视图
-
没错,做一个arrayList
-
它们来自 2 个不同的 json 数组。我可以将两者放在同一个 ArrayList 中吗?
-
那又怎样?将
arrayList2的项放入arrayList1。你想让我看看你是怎么做到的吗?
标签: java android arrays listview