我受Android中奇怪事件處理的影響。我的問題是,如果用戶多次點擊Button
很快,則事件將排隊並進一步轉移到下一個Activity
。Click事件轉移到下一次啓動活動
下面是一個例子:
<Button
android:id="@+id/btn_home_show"
style="@style/main_buttons"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/home_label_show" />
Activity
onClick
:
public void onClick(View view) {
int viewId = view.getId();
if (viewId == EXPECTED_VIEW_ID) {
Intent intent = new Intent(this, CarouselActivity.class);
startActivity(intent);
}
}
在我Activity
我有另一個項目是點擊在屏幕上相同的座標。
如果用戶在Button
上點擊確實很快,那麼這個點擊事件將被轉移到新開始的Activity
,並且另一個onClick
處理髮生。
我試過2.3.3 & 2.3.5框架版本&的行爲是一樣的。有任何想法嗎?
這個接縫就像一個變通方法,但這種方式我應該在每一個活動開始和每個視圖創建。這看起來很糟糕;-)也許有一種方法可以在Activity啓動時「重置」隊列嗎? –
我不認爲有重置的方法,如果在最後一次點擊之前發生重置(即用戶仍然像傻瓜一樣點擊),沒有意義,我使用這段代碼,但是我擁有全局應用程序類和整數告訴它是什麼類型的輸入,相同的asynctask,但它需要代表輸入的整數,例如回推並鎖定該類型的輸入。 您可以保護用戶免受這樣的意外錯誤點擊,如果他們愚蠢地點擊離開,那麼沒有多少可以保護您的應用程序免受他們的虛假行爲。 – triggs
然後鎖定整個gridview。 – triggs