2015-11-09 1 views
-1

Я использую навигационный ящик. Есть несколько пунктов меню. Когда я нажимаю элемент «новости», кликлайнер открывает новую активность. Пользователь может нажать в десять раз сообщение «новости» и десять раз открывает одно и то же действие. Как я могу это предотвратить?Проблемы с меню и новыми действиями

+1

Почему десять раз ??? Опубликовать код – Seyyed

+0

Это пример. Пользователь прикасается к элементу меню, и кликлайнер вызывает соответствующее действие. Если пользователь прикасается три раза ... открывается всегда одно и то же действие. – HansPeter

ответ

1

Вы можете использовать флаг, чтобы проверить, открыт ли он. , например:

boolean activityIsOpen = false; 

затем в меню выберите вы проверяете:

if (!activityIsOpen) { 
    start your activity here 
    activityIsOpen = true; 
} 

Теперь у вас есть несколько способов, чтобы установить activityIsOpen назад к ложным, когда вы закрываете вашу деятельность. , например, вы можете использовать:

@Override 
public void onResume() { 
    activityIsOpen = false; 
    super.onResume(); 
} 

или использовать startActivityForResult при вызове вашей деятельности, и когда вы закончите, он будет вызывать этот метод на вашем меню деятельности:

public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    activityIsOpen = false; 
} 
+0

Спасибо за подсказку. – HansPeter