2015-02-12 4 views
-1

У меня есть три мероприятия, скажем, A, B, C. У меня есть кнопка в A. Когда мы нажимаем кнопку в кнопке загрузки A. Также есть кнопка в действии B. Когда мы нажимаем это, она будет загружать кнопки C.Both находятся в том же положении.Активность Android с нажатием кнопки следующего действия?

Теперь проблема заключается в том, что когда я нажимаю кнопку в A много раз, сначала она загружает активность B, а затем загружает C. Как я могу это предотвратить? Я отключил кнопку и включил ее при возобновлении. Но это тоже не сработало. Что мне делать? Может ли кто-нибудь помочь ... Навигация между первыми и вторыми действиями слишком медленный. У меня есть интеграция с api камеры во второй Activity.Is это происходит из-за этого?

public void onButtonAPressed(View v){ 
    final Intent sIntent = new Intent(this,SecondActivity.class); 
    startActivity(sIntent);  
} 
+0

Пожалуйста добавьте код надрез для лучшего разъяснения –

+0

кодекса, разместить код? – Skynet

+0

@Skynet, какой код должен я пост здесь? – Anu

ответ

0

Ваш вопрос немного запутан, но я уточню, о чем, я думаю, вы спрашиваете.

Я считаю, что вы говорите, что у вас есть виды A, B и C. Каждая кнопка имеет точно такую ​​же точку, что при нажатии кнопки A она загружается B. Когда вы нажимаете кнопку в Activity B, она загружает C.

Ваша проблема заключается в том, что быстрое нажатие кнопки в «A» переходит к Activity «B», а затем вызывает загрузку «C».

Если предположить, что это правильно:

Я отмечаю из вышесказанного следует, что после того, как вы звоните startActivity вы не закрываем текущую деятельность с «отделкой()». Я полагаю, что то же самое верно для всех ваших действий. Если это так, то я считаю, что вы потенциально заставляете процессор или память потребляться без необходимости. Кроме того, это может быть фактором нажатия кнопки, который так быстро потребляется «B».

Что я, таким образом, предположить, это:

finish() деятельность при загрузке следующего.

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

private myButtonEnableHandler = new Handler(); 

В OnCreate:

myButtonEnableHandler.postDelayed(buttonEnablerFunction, 1000); 

Затем создайте buttonEnablerFunction на кнопку 'включить'. Я считаю, что это должно предотвратить случайный щелчок.

Помните уничтожить обработчик в функции OnDestroy (myButtonEnableHandler.removeCallbacks(buttonEnablerFunction);

+0

спасибо, но мне нужна активность в обратном. Я отключил кнопку, как только я получаю щелчок. И я попробовал, вторая кнопка будет видна только в onresume, тогда также она не работает – Anu

+0

Я думаю, что вам тогда понадобится чтобы отправить больше кода. Если кнопка нажата, тогда она будет реагировать на ваш код, если нет, я не вижу, как этот код вызывается, если что-то еще не так, то есть в функции onCreate или onResume. ou, таким образом, нужно разделить больше кода, чтобы мы могли помочь. – greysqrl

Смежные вопросы