BaseExpandableListAdapter を拡張して、展開されたリスト ビューにデータを入力しています。
ChildView のコード:
public View getChildView(final int groupPosition, final int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
LayoutInflater in=getLayoutInflater();
convertView=in.inflate(R.layout.details, null);
//set text for various TextViews from ArrayList1
return convertView;
}
GroupView のコード:
public View getGroupView(final int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
LayoutInflater li= getLayoutInflater();
convertView=li.inflate(R.layout.list, null);
//add data to ArrayList1 and set text for various TextViews
return convertView;
}
グループが展開され、後続のグループのいずれかを長押しすると、onItemLongClick メソッドはパラメーター itemIndex の (実際のインデックス + 1) 値を取得します。このため、arrayindexoutofbounds 例外が発生します。
elview.setOnItemLongClickListener(new OnItemLongClickListener() {
public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
final int itemIndex, long arg3) {
Log.e("index selected", itemIndex+"");
return false;
}});
ここで何か不足していますか?