首先祝大家新年快乐,祝福。
我有一个问题。假设我有3个字符串arraylists:
Math.Min(clb1.Items, clb2.Items)
是否可以让输出像这样?
提前谢谢。
Groupe A
巴西 - Value1
墨西哥 - Value2
克罗地亚 - Value3
Groupe B
喀麦隆 - Value4
荷兰 - Value5
Groupe C
智利 - Value6
西班牙 - Value7
Groupe D
澳大利亚 - Value8
Groupe E
哥伦比亚 - Value9
已经尝试了String group_names[] = { "Groupe A", "Groupe B", "Groupe C",
"Groupe D", "Groupe E" };
String country_names[] = { "Brazil", "Mexico", "Croatia", "Cameroon",
"Netherlands", "Chile", "Spain", "Australia", "Colombia" };
String country_values[] = { "Value1", "Value2", "Value3", "Value4",
"Value5", "Value6", "Value7", "Value8", "Value9" };
循环,但它不适合我。
for
答案 0 :(得分:0)
如果您只需要在子视图中并排显示两个textView
(而不是图像和文本),则根本不需要遍历country_names
。
只需将getChildView()
更新为,
@Override
public View getChildView(int groupPosition, int childPosition,
boolean isLastChild, View convertView, ViewGroup parent)
{
Child child = (Child) getChild(groupPosition, childPosition);
if (convertView == null)
{
LayoutInflater infalInflater = (LayoutInflater) context
.getSystemService(context.LAYOUT_INFLATER_SERVICE);
convertView = infalInflater.inflate(R.layout.child_item, null);
}
TextView tv1 = (TextView) convertView.findViewById(R.id.country_name);
TextView tv2 = (TextView) convertView.findViewById(R.id.value);
tv1.setText(child.getName().toString());
tv2.setText(child.getValue().toString());
return convertView;
}
假设您的child_item.xml
会是这样的,
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="4dp"
android:paddingBottom="4dp"
android:layout_marginLeft="50dp">
<TextView
android:id="@+id/country_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView"
android:textSize="20dp" />
<TextView
android:id="@+id/value"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView"
android:textSize="20dp" />
</RelativeLayout>
希望它有所帮助。
编辑在您发表评论后,我认为您需要为每个群组提供一系列尺寸。说,
int group_sizes[] = { 3, 2, 2, 1, 1};
你问我的代码会重写为,
public ArrayList<Group> SetStandardGroups()
{
//....
// The 3 arraylists
ArrayList<Group> list = new ArrayList<Group>();
ArrayList<Child> ch_list;
int size = 0, i = -1, j = 0;
for (String group_name : group_names)
{
i++;
size = size + group_sizes[i];
Group gru = new Group();
gru.setName(group_name);
ch_list = new ArrayList<Child>();
for (; j < size; j++)
{
Child ch = new Child();
ch.setName(country_names[j]);
ch.setValue(country_values[j]);
ch_list.add(ch);
}
gru.setItems(ch_list);
list.add(gru);
}
return list;
}
希望这能解决列出的所有问题。