My PanelActivity
содержит recyclerView со списком элементов. Каждый элемент имеет событие click. Этот щелчок открывается DetailsActivity
.Диалог отклонения вызывает завершение операции
DetailsActivity
имеет плавающую кнопку, которая открывает полноэкранный диалог (мой класс DetailDialogFragment
расширяет DialogFragment
).
DetailDialogFragment
имеет кнопку Up/Home с увольнением.
Проблема: Если пользователь выполняет щелчок по кнопке «Вверх», диалог отклоняется, а также DetailsActivity
исчезает, и приложение возвращается к PanelActivity
.
Возможная причина. Под кнопкой «Вверх» диалогового окна находится кнопка «Вверх» DetailsActivity
. Возможно ли запустить два события щелчка, когда диалог завершен, и оба имеют кнопку «Вверх» в том же месте?
Редактировать: Чтобы показать код.
Open DetailsActivity from PanelActivity (нажатие одного элемента в recyclerView).
Intent intent = new Intent(context, DetailsActivity.class);
intent.putExtra("headerCode", headerCode.getText());
context.startActivity(intent);
Up button in 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();
}
И, наконец, кнопка вверх в деталяхDialogFragment.
@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);
}
Опубликовать исходный код – Krish
@Krish Я отредактировал мое сообщение. – JCarlos