gpt4 book ai didi

java - 显示ListView的子项和标题

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:47:43 27 4
gpt4 key购买 nike

我有一个 ListView 并且无法显示列表中的子项...它只显示一个或另一个而不是两个。如果我从下面删除数字,它将显示字符串(标题):

我想同时显示项目和子项目。

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.loadData();

String []titles_str = titles.toArray(new String[titles.toArray().length]);
this.setListAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_2, android.R.id.text1, titles_str));

Number []subtitles_str = lengths.toArray(new Number[lengths.toArray().length]);
this.setListAdapter(new ArrayAdapter<Number>(this,
android.R.layout.simple_list_item_2, android.R.id.text2, subtitles_str));
}

最佳答案

您正在使用“this.setListAdapter”两次,只有第二次“this.setListAdapter”会反射(reflect)出来。

根据您的要求,请使用

1)custom arrayadapter<customObject> 
or
2)simpleadapter.

1) 使用自定义数组适配器,请检查http://devtut.wordpress.com/2011/06/09/custom-arrayadapter-for-a-listview-android/

2) 使用 SimpleAdapter:

List<Map<String, String>> data = new ArrayList<Map<String, String>>();
for (int i=0; i<titles_str.length; i++) {
Map<String, String> datum = new HashMap<String, String>(2);
datum.put("title", titles_str[i]);
datum.put("subtitle", String.valueof(subtitles_str[i]));
data.add(datum);
}
SimpleAdapter adapter = new SimpleAdapter(this, data,
android.R.layout.simple_list_item_2,
new String[] {"title", "subtitle"},
new int[] {android.R.id.text1,
android.R.id.text2});
this.setListAdapter(adapter);

关于java - 显示ListView的子项和标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15401098/

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