Как открыть n-й фрагмент, размещенный действием с помощью намерения? - PullRequest
0 голосов
/ 27 августа 2018

У меня есть активность с 12 фрагментами.И еще одно занятие с 12 кнопками.Я хочу открыть 1-й фрагмент, когда я нажал 1-ю кнопку, 2-й фрагмент нажатием 2-й кнопки и так далее.Но я могу открыть только действие, и всегда первый фрагмент открывается вместе с ним.Для n-го фрагмента мне приходится каждый раз прокручивать.

Мое приложение показывает названия 12 команд и, нажимая на одну команду, открывает полный список отрядов.Все фрагменты отряда (12 фрагментов) размещены действием.Я хочу открыть фрагмент отряда в соответствии с командой.

код

Intent i = new Intent(getActivity(),SquadActivity.class);
                                startActivity(i);

Название команды

Список отрядов

1 Ответ

0 голосов
/ 27 августа 2018

Вы можете заменить фрагмент в контейнере активности.При нажатии кнопки передать фрагмент №.и использовать его для замены фрагмента.

при нажатии кнопки

Intent i = new Intent(getActivity(),SquadActivity.class);
i.putExtra("frag_no",Fragment_no)
startActivity(i);

внутри действия onResume ()

Intent i=getIntent();
int frag_no=i.getIntExtra("frag_no",0);
Switch(frag_no)
{
case 1:
    getSupportFragmentManager().beginTransaction().replace(R.id.container, new fragment1(), "Frag1");
    break;

case 2:
    getSupportFragmentManager().beginTransaction().replace(R.id.container, new fragment2(), "Frag2");
    break;

case 3:
    getSupportFragmentManager().beginTransaction().replace(R.id.container, new fragment3(), "Frag3");
    break;

case 4:
    getSupportFragmentManager().beginTransaction().replace(R.id.container, new fragment4(), "Frag4");
    break;

case 5:
    getSupportFragmentManager().beginTransaction().replace(R.id.container, new fragment5(), "Frag5");
    break;

case 6:
    getSupportFragmentManager().beginTransaction().replace(R.id.container, new fragment6(), "Frag6");
    break;

case 7:
    getSupportFragmentManager().beginTransaction().replace(R.id.container, new fragment7(), "Frag7");
    break;

}

Вы можете использовать другое условие согласно вашему требованию.

...