2017-10-11 18 views
0

Androidで拡張可能なlistを持っています。子供に見えると目に見えないものがあります。View。私の問題は、私はアクションを行うにはマルチクリックをクリックしなければならないということです。ワンクリックでどのようにこの行動を起こすことができますか?以下は拡張リストアンドロイドチャイルドでの問題

は私のコードです:

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 container.setVisibility(View.GONE)を削除する場合onChildClickイベントがあなたの視界操作 –

+0

をトリガするようにtvQuestionにクリックリスナーを削除してみてください。 それはちょうどVISIBLEであることを働かせず、行けません! –

答えて

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の効果が1つをクリックしたときに私に間違った位置を与えます! –

関連する問題