2017-10-11 98 views
0

我可扩展list在Android和当点击进入孩子我可见和不可见一些View。我的问题是,我必须点击多点击才能执行操作。我只需点击一下即可完成此操作。问题与可扩展列表Android的孩子

下面是我的代码:

expandableListView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() { 
     @Override 
     public boolean onChildClick(ExpandableListView parent, View v,final int groupPosition, final int childPosition,long id) { 
      final View container =v.findViewById(R.id.container); 
      TextView tvQuestion = (TextView) v.findViewById(R.id.tvQuestion); 
      tvQuestion.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        if (container.getVisibility() == View.GONE) { 
         container.setVisibility(View.VISIBLE); 

        } else { 
         container.setVisibility(View.GONE); 
        } 

       } 
      }); 

      return false; 
     } 
    }); 
+0

尝试取消对tvQuestion点击侦听器,这样onChildClick事件将触发您的能见度运行 –

+0

当我删除tvQuestion container.setVisibility(View.GONE); 不能正常工作可见,不能走! –

回答

0

添加clickListner适配器这样的。

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


tvQuestion.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      if (container.getVisibility() == View.GONE) { 
        container.setVisibility(View.VISIBLE); 
       } else { 
        container.setVisibility(View.GONE); 
       }); 
     } 
    }); 
+0

感谢您的重播,但是当我这样做时,这给错了孩子的位置 –

+0

你把这个代码放在哪里? 放在getchildView里面。 –

+0

我把它放在getchildView中,但给我错了位置,例如当我点击儿童编号1,儿童编号5效果不是一个! –