【问题标题】:using Expandable listview as radio button [duplicate]使用可扩展列表视图作为单选按钮[重复]
【发布时间】:2016-04-05 04:54:10
【问题描述】:

我在我的应用程序中使用了可展开的列表视图。现在我想要做的是用户一次只显示一个项目的孩子.... 如果用户点击第一个项目,那么视图应该是..

项目 1:

单选按钮 1

单选按钮 2

第 2 项:

现在,如果在点击第一个项目后,用户点击第二个,那么它应该会显示..

项目 1:

第 2 项:

单选按钮 1

单选按钮 2

如何实现?

我的适配器的getChildView方法是..

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

    Child child = (Child) getChild(groupPosition, childPosition);
    if (convertView == null) {
        LayoutInflater infalInflater = (LayoutInflater) context
                .getSystemService(context.LAYOUT_INFLATER_SERVICE);
        convertView = infalInflater.inflate(R.layout.child_item, null);
    }
    RadioButton rb1 = (RadioButton) convertView.findViewById(R.id.rbtn1);
    RadioButton rb2 = (RadioButton) convertView.findViewById(R.id.rbtn2);



    return convertView;
}

child_item这里包含一个广播组,getGroupView方法是..

 @Override
public View getGroupView(int groupPosition, boolean isExpanded,
                         View convertView, ViewGroup parent) {
    Group group = (Group) getGroup(groupPosition);
    if (convertView == null) {
        LayoutInflater inf = (LayoutInflater) context
                .getSystemService(context.LAYOUT_INFLATER_SERVICE);
        convertView = inf.inflate(R.layout.group_item, null);
    }
    TextView tv = (TextView) convertView.findViewById(R.id.group_name);
    tv.setText(group.getName());
    return convertView;
}

这里的问题是,如果我单击第二个,则在单击第一个之后,第一个和第二个都处于选中状态并显示内容而不是仅显示第二个项目的内容.. 我已将 CHOICE_MODE 设置为 Single Choice.. 但它没有帮助。

【问题讨论】:

    标签: android listview radio-group


    【解决方案1】:

    即使我不知道任何内置函数,但你可以试试这段代码。

     YourexpandableList.setOnGroupExpandListener(new OnGroupExpandListener() {
            int previousGroup = -1;
    
        @Override
        public void onGroupExpand(int groupPosition) {
            if(groupPosition != previousGroup)
                YourexpandableList.collapseGroup(previousGroup);
            previousGroup = groupPosition;
        }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-10
      • 1970-01-01
      • 2013-01-21
      • 2012-10-18
      • 1970-01-01
      相关资源
      最近更新 更多