ExpandableList View
いくつかのグループアイテムと対応する子アイテムを使用してを作成しました。
子ビューにアクセスし、とを使用して子ビューのプロパティにアクセスできgroupPosition
ますchildPosition
。
次に、このすべての子ビューに2つImageButton
配置し、それぞれをクリックすると異なるインテントをトリガーする必要があります。
各画像ボタンにを設定して対応する結果を取得するようにコーディングしようとしましたが、戻り値が1つだけを返すonClickListeners
という問題に直面しています。クリック
ごとの応答を取得するにはどうすればよいですか?getChildView
View
ImageButton
私のコードは以下の通りです:
public View getChildView (final int groupPosition, final int childPosition, boolean isLastChild, View convertView, ViewGroup parent)
{
final View providbtn = super.getChildView(groupPosition, childPosition, isLastChild, convertView, parent);
final View lecvidbtn = super.getChildView(groupPosition, childPosition, isLastChild, convertView, parent);
final ImageButton providbtn1 = (ImageButton)providbtn.findViewById(R.id.provid);
final ImageButton lecvidbtn1 = (ImageButton)lecvidbtn.findViewById(R.id.lecvid);
//final View childItemClicked = super.getChildView(groupPosition, childPosition, isLastChild, convertView, parent);
//final ImageButton ib = (ImageButton)childItemClicked.findViewById(R.id.)
//ImageButton provid = (ImageButton)findViewById(R.id.provid);
providbtn1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(getApplication(), "Topic Proc video is: "+topic[groupPosition]+" and Chapter is "+chapter[groupPosition][childPosition], Toast.LENGTH_LONG).show();
flag = "p";
Bundle bundle = new Bundle();
bundle.putString("topic",topic[groupPosition] );
bundle.putString("chapter",chapter[groupPosition][childPosition] );
Intent goHome = new Intent(getApplicationContext(), VideoWeb.class);
goHome.putExtras(bundle);
startActivity(goHome);
}
});
lecvidbtn1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(getApplication(), "Topic Lec video is: "+topic[groupPosition]+" and Chapter is "+chapter[groupPosition][childPosition], Toast.LENGTH_LONG).show();
flag = "l";
Bundle bundle = new Bundle();
bundle.putString("topic",topic[groupPosition] );
bundle.putString("chapter",chapter[groupPosition][childPosition] );
Intent goHome = new Intent(getApplicationContext(), VideoWeb.class);
goHome.putExtras(bundle);
startActivity(goHome);
}
});
return lecvidbtn; //My confusion is here. How to capture the return value for any of the image buttons clicked above.?
}