gpt4 book ai didi

android - 如何使用 simple_list_item_2 设置 ListView 的两行?

转载 作者:IT老高 更新时间:2023-10-28 21:41:42 28 4
gpt4 key购买 nike

因此,以下将创建一个 ListView,其中行的“主要” TextView 由 values 数组填充。

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
android.R.layout.simple_list_item_2, android.R.id.text1, values);

将第三个参数更改为 android.R.id.text2 设置“辅助” TextView 。有什么简单的方法可以同时设置吗?

最佳答案

这个问题在 Google 中排名很高,但我认为给出的答案太复杂了。正如 other 中指出的那样答案,可以通过一个非常简单的技巧使用 ArrayAdapter 来实现所需的功能。

您可以覆盖 ArrayAdapter 的 getView 方法:

ArrayAdapter adapter = new ArrayAdapter(context, android.R.layout.simple_list_item_2, android.R.id.text1, list) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
TextView text1 = (TextView) view.findViewById(android.R.id.text1);
TextView text2 = (TextView) view.findViewById(android.R.id.text2);

text1.setText(persons.get(position).getName());
text2.setText(persons.get(position).getAge());
return view;
}
};

如果您没有注意到:诀窍是提供 android.R.id.text1 作为(主要是不必要的)参数,否则对 super 的调用将导致一个异常(exception)。

此外,此解决方案不使用 API 17 中已弃用的 TwoLineListItem

关于android - 如何使用 simple_list_item_2 设置 ListView 的两行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11256563/

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