gpt4 book ai didi

具有自定义组标题的 Android ExpandableListView

转载 作者:行者123 更新时间:2023-12-04 18:09:27 26 4
gpt4 key购买 nike

我是 Android 新手。我想创建一个可扩展的 ListView,其中 1 行具有必须在 manin 线程中指定的自定义信息,而不是在布局中进行硬编码。

我想要一个图像和 2 个 TextView 。我想我需要一个自定义布局文件,但我不确定在我的代码中在哪里调用它。请协助。

接下来是我的自定义适配器中的 GropView fxn。我希望案例 0 加载自定义布局文件

public View getGroupView(int groupPosition, boolean arg1, View convertView,
ViewGroup arg3) {

String laptopName = (String) getGroup(groupPosition);
if (convertView == null) {
LayoutInflater infalInflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = infalInflater.inflate(R.layout.group_item, null);
}
TextView item = (TextView) convertView.findViewById(R.id.laptop);
item.setTypeface(null, Typeface.BOLD);
item.setText(laptopName);

this.context = (Activity) context;
switch (groupPosition) {
case 0:
convertView.setBackgroundColor(this.context.getResources()
.getColor(R.color.dark_blue));
convertView.inflate(R.layout.first_row_layout, 0, arg3);
break;
case 1:
convertView.setBackgroundColor(this.context.getResources()
.getColor(R.color.purple));
break;
case 2:
convertView.setBackgroundColor(this.context.getResources()
.getColor(R.color.green));
break;
default:
break;
}

return convertView;
}

最佳答案

在代码中定义组项布局的位置是这样的:

 if (convertView == null) {
LayoutInflater infalInflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = infalInflater.inflate(R.layout.group_item, null);
}

在您的情况下,您正在为您的组项目使用布局 R.layout.group_item。如果你想为每个组位置加载不同的布局,你需要将这部分代码移动到 switch-case 中。您必须小心处理 ListView 中的图像,更多信息请参见此处:

http://developer.android.com/training/improving-layouts/smooth-scrolling.html

关于具有自定义组标题的 Android ExpandableListView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18037333/

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