Добрый день, создал свой класс адаптера, унаследованный от ExpandableListAdapter. Исходный код:
public class ExpListAdapter extends BaseExpandableListAdapter {
private ArrayList<ArrayList<String>> mGroups;
private Context mContext;
public ExpListAdapter(Context context, ArrayList<ArrayList<String>> groups) {
mContext = context;
mGroups = groups;
}
@Override
public int getGroupCount() {
return mGroups.size();
}
@Override
public int getChildrenCount(int groupPosition) {
return mGroups.get(groupPosition).size();
}
@Override
public Object getGroup(int groupPosition) {
return mGroups.get(groupPosition);
}
@Override
public Object getChild(int groupPosition, int childPosition) {
return mGroups.get(groupPosition).get(childPosition);
}
@Override
public long getGroupId(int groupPosition) {
return groupPosition;
}
@Override
public long getChildId(int groupPosition, int childPosition) {
return childPosition;
}
@Override
public boolean hasStableIds() {
return true;
}
@Override
public View getGroupView(int groupPosition, boolean isExpanded, View convertView,
ViewGroup parent) {
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.group_view, null);
}
if (isExpanded) {
//Изменяем что-нибудь, если текущая Group раскрыта
} else {
//Изменяем что-нибудь, если текущая Group скрыта
}
TextView textGroup = (TextView) convertView.findViewById(R.id.textGroup);
if(Integer.toString(groupPosition).equals("1")){
textGroup.setText(R.string.lvl1);
}
else{
textGroup.setText(R.string.lvl2);
}
return convertView;
}
@Override
public View getChildView(int groupPosition, int childPosition, boolean isLastChild,
View convertView, ViewGroup parent) {
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.child_view, null);
}
TextView textChild = (TextView) convertView.findViewById(R.id.qestionBar);
textChild.setText(mGroups.get(groupPosition).get(childPosition));
ImageView imageView = (ImageView) convertView.findViewById(R.id.imageViewBar);
switch (Integer.toString(groupPosition)){
case "0":
imageView.setImageResource(R.drawable.bar);
break;
case "1":
imageView.setImageResource(R.drawable.examen);
break;
default: break;
}
Button button = (Button)convertView.findViewById(R.id.buttonNext1);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
return convertView;
}
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
return true;
}
}
В этом адаптере, мы получаем список, с выплывающими пунктами меню (скрин ниже):
там есть кнопка, которую я обрабатываю, но я не могу написать код, который позволил бы осуществить переход между активностями, почему-то он подсвечивает ошибкой стандартный переход через
Intent intent = new Intent(MainActivity.this, AboutActivity.class);
startActivity(intent);
Может кто-нибудь знает решение проблемы?