Закрытие диалога приводит к завершению действия
мойPanelActivity
содержит переработчикПросмотр со списком предметов. Каждый элемент имеет событие щелчка. Этот клик открываетсяDetailsActivity
.
DetailsActivity
имеет FloatingActionButton, который открывает полноэкранный диалог (мой классDetailDialogFragment
продолжаетсяDialogFragment
).
DetailDialogFragment
имеет кнопку Up / Home с увольнением.
Проблема: если пользователь нажимает кнопку «Вверх», диалоговое окно закрывается, но такжеDetailsActivity
исчезнет, и приложение вернется кPanelActivity
.
Возможная причина: под кнопкой «Вверх» диалогового окна находится кнопка «Вверх»DetailsActivity
, Можно ли инициировать два события щелчка, когда диалог находится над действием, и оба имеют кнопку «Вверх» в одном месте?
Редактировать: чтобы показать код.
Откройте DetailsActivity из PanelActivity (щелкнув по одному элементу в представлении recycler).
Intent intent = new Intent(context, DetailsActivity.class);
intent.putExtra("headerCode", headerCode.getText());
context.startActivity(intent);
Кнопка «Вверх» в DetailsActivity.
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
// Respond to the action bar's Up/Home button
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);
}
Откройте полноэкранный диалог в DetailsActivity.
private void showCreateDetailDialog() {
FragmentManager fragmentManager = getSupportFragmentManager();
DetailDialogFragment newFragment = new DetailDialogFragment();
// The device is smaller, so show the fragment fullscreen
FragmentTransaction transaction = fragmentManager.beginTransaction();
// For a little polish, specify a transition animation
transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
// To make it fullscreen, use the 'content' root view as the container
// for the fragment, which is always the root view for the activity
transaction.add(android.R.id.content, newFragment)
.addToBackStack(null).commit();
}
И, наконец, кнопка «Вверх» в DetailDialogFragment.
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.save) {
validateForm();
return true;
} else if (id == android.R.id.home) {
// handle close button click here
dismiss();
return true;
}
return super.onOptionsItemSelected(item);
}