如何在Android中的expandablelistview中获取Child项目的位置

时间:2016-08-30 08:24:32

标签: android expandablelistview expandablelistadapter

我第一次使用Expandable listview适配器。我有一个问题,并没有让我知道如何做到这一点。这是我的孩子项目enter image description here

的视图

现在,我想点击待定或分配按钮?它获得上面显示的文本的内容为了成功。列表中有很多项目,我不能使用onchildClick监听器,因为我需要关注这些按钮,而上层文本只从webservice加载。我尝试使用getChildView或getChildId,但它给了我最后一个孩子的id,并且在挂起点击它不会更新子ID。请帮我这样做。我也在适配器中使用onClick监听器。

1 个答案:

答案 0 :(得分:1)

您可以在适配器类中实现click事件 见下面的例子 我正在使用 ListAdapter extends BaseExpandableListAdapter{

及其在ListAdapter中的重写方法,检查示例

@Override
public View getChildView(final int groupPosition, final int childPosition,
        boolean isLastChild, View convertView, ViewGroup parent) {

    final HashMap mapBinidGrp = allItms.get(groupPosition);
    final ArrayList<ArrayList<String>> itmArys = (ArrayList<ArrayList<String>>) mapBinidGrp.get(mKEY_BIN_ITEMS);
    final ArrayList<String> childText = itmArys.get(childPosition);

    if (convertView == null) {
        LayoutInflater infalInflater = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        convertView = infalInflater.inflate(R.layout.list_row_layout, null);
    }
    TextView txtListChild6 = (TextView) convertView.findViewById(R.id.tv_one);

    txtListChild6.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            // todo
        }
    });

    return convertView;
}