Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在没有子级的expandablelistview组上添加单击事件_Android_Expandablelistview - Fatal编程技术网

Android 如何在没有子级的expandablelistview组上添加单击事件

Android 如何在没有子级的expandablelistview组上添加单击事件,android,expandablelistview,Android,Expandablelistview,在我的expandablelistview中,有些有孩子,有些没有。没有子项的GroupView包含一个Textview和一个按钮。单击按钮后,我需要通过intent将textview的数据传递给下一个活动。现在我的问题是,我无法在groupview的按钮上设置onclick事件,因为它没有子项,而且我还需要groupPosition 以下是我在主java文件中的clickListener代码: expandableListView.setOnGroupClickListener(new Exp

在我的expandablelistview中,有些有孩子,有些没有。没有子项的GroupView包含一个Textview和一个按钮。单击按钮后,我需要通过intent将textview的数据传递给下一个活动。现在我的问题是,我无法在groupview的按钮上设置onclick事件,因为它没有子项,而且我还需要groupPosition

以下是我在主java文件中的clickListener代码:

expandableListView.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() {
        @Override
        public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) {
            switch (groupPosition) {
                case 0:
                    Log.d(">>>", "" + groupPosition);
                    break;
                case 1:
                    Log.d(">>>", "" + groupPosition);
                    break;
                case 2:
                    Log.d(">>>", "" + groupPosition);
                    break;
                case 3:
                    Log.d(">>>", "" + groupPosition);
                    break;
            }
            return false;
        }
    });
以下是我的适配器代码:

public View getGroupView(int groupPosition, boolean isExpanded,
                         View convertView, ViewGroup parent) {
    groupIndex = groupPosition;
    QuotedListGroup group = (QuotedListGroup) getGroup(groupPosition);
    if (convertView == null) {
        LayoutInflater inf = (LayoutInflater) context
                .getSystemService(context.LAYOUT_INFLATER_SERVICE);
        convertView = inf.inflate(R.layout.activity_expandable_listview, null);
    }

    if(groupPosition%2 == 0) {
        convertView.findViewById(R.id.part_1).setVisibility(View.VISIBLE);
        convertView.findViewById(R.id.part_2).setVisibility(View.GONE);
        //Other code..
    } else {
        convertView.findViewById(R.id.part_1).setVisibility(View.GONE);
        convertView.findViewById(R.id.part_2).setVisibility(View.VISIBLE);
        //Other code..
    }
    return convertView;
}
实际上,我需要在同一个expandablelistview中显示偶数和奇数分组的两种不同布局


非常感谢您提供的任何帮助

使用ExpandableListView.OnGroupClickListener()它还将为您提供组位置

像这样

elv.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() {
        @Override
        public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) {

            Bundle bundle;
            switch (groupPosition) {
               case 0:
               //add your code here

            return false;
        }
    });

我已经试过了。但是它没有给groupview提供任何groupPosition,因为它没有孩子,我尝试了
returnfalse仅限。但我甚至不能进入上面的功能。现在我得到了小组的职位。但是,当我单击没有子项的groupView时,我的应用程序不幸地关闭了。您如何在可扩展列表视图中添加子项添加适配器代码这还不够吗?除此之外,我的adapter@PravinI中没有太多特定于项目的代码。我想这篇文章和我回答的另一篇文章是一样的。可能是重复的