@slavenski
Android developer

Как сделать переключение между активностями в адаптере ExpandableListAdapter?

Добрый день, создал свой класс адаптера, унаследованный от 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;
    }
}


В этом адаптере, мы получаем список, с выплывающими пунктами меню (скрин ниже):
5a0764d7b39e6823476879.png
там есть кнопка, которую я обрабатываю, но я не могу написать код, который позволил бы осуществить переход между активностями, почему-то он подсвечивает ошибкой стандартный переход через
Intent intent = new Intent(MainActivity.this, AboutActivity.class);
startActivity(intent);

Может кто-нибудь знает решение проблемы?
  • Вопрос задан
  • 163 просмотра
Пригласить эксперта
Ответы на вопрос 1
@slavenski Автор вопроса
Android developer
Ответ нашел, кому будет интересно, то почитайте вот это обсуждение на StackOverflow:
https://ru.stackoverflow.com/questions/675922/%D0%...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы