2016-08-30 14 views
0

私はExpandable listview adapterを初めて使用しています。私は問題を抱えているとどのようにやっていることを私は、単一の手掛かりを得ていないit.Hereは私の子供の項目のビューがあるenter image description hereAndroidでexpandablelistviewの子アイテムの位置を取得する方法

今私がやって私は保留をクリックするか、ボタンを割り当てたときにされたいですか?それはの上にtextshowingのidを得る成功のために。リストには多くの項目があり、onchildClickリスナーを使用することはできません。なぜなら、これらのボタンにフォーカスする必要があり、上部のテキストはWebサービスからロードするだけなのでです。私はgetChildViewまたはgetChildIdを使用しようとしましたが、それは私に最後の子のIDを与え、保留中のクリックで子IDを更新しません。これを手伝ってください。私もアダプタでonClickリスナーを使用しています。

+0

を確認するアダプタクラス でイベントをクリックして実装することができます子の位置をexpandableListViewから取得する](http://stackoverflow.com/questions/18887224/how-to-get-child-position-from-expandablelistview) – sajan

+0

私は子のpositionlistenerを使いたくありません。ボタンのために働いていないので – Junaid

+0

あなたは、必要なデータを持つアダプタのビューのタグを設定しようとしましたか? はアイテムID、子IDなどが好きですか? また、各子供のクリックをどう扱っているのでしょうか? –

答えて

1

あなたは[ここで私は 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; 
} 
関連する問題