sal*_*lih 11 android arraylist android-arrayadapter android-tablayout
我正在使用嵌套的ArrayList for Tablayout.ArrayList的每个元素都会填充每个Tab.标签计数根据父级arraylist的大小而变化.例如,当父ArrayList的大小为2时,选项卡数为2; 当大小3标签计数3..etc..为了解释这种情况很困难,我准备了expalantion图像..
图片1
此图像代表一般外观.我想用ArrayLists为每个元素填充这个TextViews
图2
此图像代表我的数据类型; 键和值ArrayList是嵌套的arraylist,它们在每个索引中包含arraylist.
图3 - 图像4 - 图像5
这个图像代表了tabLayouts过去的样子.我希望我的数据看起来像这个图像.
所以问题是PopUpDetailsAdapterPlanT Class;
当我使用下面的代码时,每行填充相同的项目.对于此示例,每行写入ArrayList的最后一个元素(位置 - 明尼苏达州)如何处理此问题.谢谢你的帮助
public class PopUpDetailsAdapterPlanT extends ArrayAdapter {
Context context;
private ArrayList<ArrayList<Object>> keys;
private ArrayList<ArrayList<String>> values;
public PopUpDetailsAdapterPlanT(Context context, ArrayList<ArrayList<Object>> keys, ArrayList<ArrayList<String>> values) {
super(context,R.layout.popupdetails_listview_simpleitem);
this.keys = keys;
this.values = values;
this.context = context;
}
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = inflater.inflate(R.layout.popupdetails_listview_simpleitem, null);
}
TextView tv1 = (TextView) v.findViewById(R.id.hashmapKeys);
TextView tv2 = (TextView) v.findViewById(R.id.hashmapValues);
for (int i = 0; i < keys.size(); i++) {
ArrayList<Object> mKeys = new ArrayList<>(keys.get(i));
ArrayList<String> mValues = new ArrayList<>(values.get(i));
for (int j = 0; j <mKeys.size() ; j++) {
tv1.setText(String.valueOf(mKeys.get(j)));
tv2.setText(String.valueOf(mValues.get(j)));
}
}
return v;
}
@Override
public int getCount() {
return keys.get(0).size();
}
@Override
public Object getItem(int position) {
if (position >= keys.size())
return values.get(position);
return keys.get(position);
}
}
Run Code Online (Sandbox Code Playgroud)
我希望我正确理解您的要求和代码。据我所知,您的布局中只有 2 个 TextView,用于 10 个不同的文本。所以...在这种情况下,您需要 10 个 TextView 来表示 ObjectID、行号、姓名、年龄、姓氏、位置等。您不能只有 2 个 TextView。
让我们从这个开始,希望我们所有人都能弄清楚这些问题。
| 归档时间: |
|
| 查看次数: |
562 次 |
| 最近记录: |