如何创建动态项目列表或其他项目列表中的项目,如BEETALK Android软件
<小时/> 大家好。我正在搜索如何在列表onClick事件上添加描述。 像联系人列表beetalk。
第0步:
第1步:
第2步:
第3步:
答案 0 :(得分:0)
在列表适配器中创建一个setSelected(int position)
方法。并从onlistitemclick
调用它通过点击的位置。
编辑您的适配器代码,如下所示。
int selectedPosition = -1;
public void setSelected(int position)
{
selectedPosition= position;
notifyDataSetChanged();
}
public View getView(int position, View convertView, ViewGroup parent)
{
// your adapter code
if(position==selectedPosition)
description.setVisibility(View.VISIBLE);
return convertView;
}
答案 1 :(得分:0)
您需要使用ExpandableListView,例如here。
TextView
以显示项目文本和说明。TextView
和说明到子TextView
,所有子视图都将被隐藏最初。ExpandableListView
的{{1}}和collapseGroup()
方法折叠或展开群组。例如,要在显示“说明”之前折叠展开的组,请先在expandGroup()
类中定义getGroupCount()
方法:
ListAdapter
然后调用此方法折叠以前展开的组:
@Override
public int getGroupCount() {
return yourList.size();
}
修改强>
您可以使用TagHandler课程与示例here和here一起使用以下内容在儿童private void collapseAll() {
int cnt = listAdapter.getGroupCount();
for (int i = 0; i < cnt; i++){
yourList.collapseGroup(i);
}
}
上显示动态子列表:
TextView
为此,您需要通过迭代动态Html.fromHtml("<ul><li>Item 1</li>...</ul>", null, new MyTagHandler()))
并在其中添加/追加带有List/ArrayList
数据的HTML标记,将子列表的项目文本转换为HTML文本。