Навигационный ящик «Активность» перемещается из фрагментов в действия и возвращается - PullRequest
0 голосов
/ 03 ноября 2018

У меня есть navigation drawer activity с fragments, и я отправлю каждый fragment на activity. У меня проблема, если я выбрал опцию 3 моего меню, которая является fragment, которая отправит меня на activity, но когда я вернусь с кнопкой Назад, он отправит меня к варианту 1, что я хочу, чтобы я вернитесь к варианту 3. Как я могу изменить это? Я пытался сделать это parentActivity, но это не сработало Спасибо.

Мой navigation drawer activity с fragments enter image description here

Когда я нажимаю на кнопку, он отправляет меня на activity, что это И в activity у меня есть toolbar для возврата, и я хочу вернуться к варианту 3, а не к 1.

Что мне нужно сделать в моем коде или что я могу разместить?

enter image description here

activity

Мой вариант кода фрагмента 3

public class Mis_Aliados extends Fragment {

Button boton;

public Mis_Aliados() { }


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {

    View view=inflater.inflate(R.layout.persona_mi_perfil, container, false);

    boton=view.findViewById(R.id.buton);

    boton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            Intent intent = new Intent(getActivity(), ActividadEx.class);
            startActivity(intent);
        }
    });


    return view;
}

}

Мой activity код

public class ActividadEx extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.pruebaactividad);

    Toolbar toolbarback=findViewById(R.id.include);
    setSupportActionBar(toolbarback);
    getSupportActionBar().setTitle("Activity");
    ActionBar actionBar=getSupportActionBar();
    actionBar.setDisplayHomeAsUpEnabled(true);


}
}

1 Ответ

0 голосов
/ 03 ноября 2018

В вашем ActividadEx добавьте этот метод для обработки панели инструментов, нажмите кнопку назад

Я добавляю 1 намерение, чтобы убедиться, что вы хотите открыть Вариант 3, когда вернетесь в навигационный ящик. Активность

@Override
public boolean onOptionsItemSelected(MenuItem item) {

    switch (item.getItemId()) {
        case android.R.id.home:
            Intent intent = new Intent(this, NavgationDrawerActivity.class);
            intent.putExtra("openOption3", true);
            startActivity(intent); 
    }

    return super.onOptionsItemSelected(item);
}

On NavigationDrawerActivty внутри onCreate ()

Вы можете проверить, есть ли у Bundle данные или нет. Если он пуст, вы можете открыть фрагмент Option1.

Если у него есть данные, проверьте его. и откройте Фрагмент Option3.

    Bundle bundle = getIntent().getExtras();
    if (bundle != null) {
        if (bundle.getBoolean("openOption3", false)) {
            //Use Fragment Transaction to Open Option 3 Fragment
        } else {
            //Open Option 1 Fragment Or any other Fragment
        }
    } else {
        //Open Option 1 Fragment Or any other Fragment
    }

Не стесняйтесь комментировать, если у вас есть какие-либо вопросы.

...