gpt4 book ai didi

java - Android 使用 2 个不同的 ArrayList 填充相同的自定义 ListView 布局

转载 作者:行者123 更新时间:2023-12-01 20:53:01 27 4
gpt4 key购买 nike

我是 Android 新手,需要帮助。我找不到可以解释我要问什么的链接,这就是我在这里问的原因。

我有一个具有一种布局的 ListView 。

我的 customLayout 有一些 TextView 和图像,所有这些都是我从一个 json 对象内的 2 个 jsonArray 获得的。

文本1 文本2 图像1

我想从 2 个不同的数组列表填充此布局。

我从网络服务上的 2 个 jsonArray 获取此数组列表。

我的类(class)很简单,如下所示:

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

所以我需要了解如何在相同的 View 中动态地放入相同的自定义布局,不同的值。就像当数组列表 1 没有剩余内容时一样,用数组列表 2 的值填充列表的其余部分。

编辑:

回答说我应该将两个 json 数组放在同一个数组列表中。

由于菜鸟错误,我认为我不应该将两个 JSONArray 混合到同一个 ArrayList 中,但这就是解决我的问题的方法。

谢谢向导,我知道这是一个愚蠢的问题。这里是菜鸟错误。

最佳答案

我将连接两个数组。

for (Example item: arrayList2)
{
    arrayList1.add(item)
}

如果您需要为每个数组项显示不同的数据,在加入时我会放置一个属性来区分,输入:

for (Example item: arrayList2)
{
   item.setIsArrayList2(true)
    arrayList1.add(item)
}

它将适用于适配器,您可以在其中显示两个等等。

一个提示:使用 optString 而不是 getString 来避免在返回 null 时出现 JSONException

关于java - Android 使用 2 个不同的 ArrayList 填充相同的自定义 ListView 布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42857760/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com