2015-12-14 93 views
0

我有一個包含一些按鈕的佈局。如果我點擊按鈕非常快(如瘋狂)在佈局上點擊過多

我有這個錯誤: 編舞:跳過X幀!應用程序可能在其主線程上做了太多工作。

這些按鈕沒有特定的背景或點擊/點擊監聽器。

我認爲這些按鈕的onDraw方法中斷主線程太長。

我可以使用標誌或其他東西來防止這種情況嗎?所以我想發一條消息給編舞/循環者跳過所有的事件,而不僅僅是一些幀。

如果我使用具有複雜層次結構的佈局,並且點擊帶監聽器的按鈕,應用程序將凍結。加載屏幕/對話框它'不是我的選擇...任何想法?

這是我的片段佈局:(這是一個FrameLayout裏內)

<LinearLayout 
    android:id="@+id/second_line" 
    android:orientation="horizontal" 
    android:layout_width="match_parent" 
    android:layout_height="96dp" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" 
    android:layout_weight="1" 
    android:weightSum="6" 
    android:padding="0dp" 
    android:layout_marginLeft="0dip" 
    android:layout_marginRight="0dip" 
    android:layout_marginTop="0dip" 
    android:layout_marginBottom="0dip"> 
    <Button 
     android:layout_width="161dp" 
     android:layout_height="96dp" 
     android:id="@+id/indicator3" 
     android:padding="0dp" 
     android:layout_marginLeft="0dip" 
     android:layout_marginRight="0dip" 
     android:layout_marginTop="0dip" 
     android:layout_marginBottom="0dip" 
     android:scaleType="fitXY"/> 
    <Button 
     android:layout_width="161dp" 
     android:layout_height="96dp" 
     android:id="@+id/indicator4" 
     android:padding="0dp" 
     android:layout_marginLeft="0dip" 
     android:layout_marginRight="0dip" 
     android:layout_marginTop="0dip" 
     android:layout_marginBottom="0dip" 
     android:scaleType="fitXY" /> 
    <Button 
     android:layout_width="161dp" 
     android:layout_height="96dp" 
     android:id="@+id/indicator5" 
     android:padding="0dp" 
     android:layout_marginLeft="0dip" 
     android:layout_marginRight="0dip" 
     android:layout_marginTop="0dip" 
     android:layout_marginBottom="0dip" 
     android:scaleType="fitXY"/> 
    <Button 
     android:layout_width="161dp" 
     android:layout_height="96dp" 
     android:id="@+id/indicator6" 
     android:padding="0dp" 
     android:layout_marginLeft="0dip" 
     android:layout_marginRight="0dip" 
     android:layout_marginTop="0dip" 
     android:layout_marginBottom="0dip" 
     android:scaleType="fitXY" /> 
    <Button 
     android:layout_width="161dp" 
     android:layout_height="96dp" 
     android:id="@+id/indicator7" 
     android:padding="0dp" 
     android:layout_marginLeft="0dip" 
     android:layout_marginRight="0dip" 
     android:layout_marginTop="0dip" 
     android:layout_marginBottom="0dip" 
     android:scaleType="fitXY"/> 
    <Button 
     android:layout_width="161dp" 
     android:layout_height="96dp" 
     android:id="@+id/indicator8" 
     android:padding="0dp" 
     android:layout_marginLeft="0dip" 
     android:layout_marginRight="0dip" 
     android:layout_marginTop="0dip" 
     android:layout_marginBottom="0dip" 
     android:scaleType="fitXY"/> 
</LinearLayout> 

+0

你在使用模擬器嗎? – Isuru

+0

plz show佈局代碼 –

+0

在此處發佈代碼。 –

回答

0

最後,我找到了解決方案。這是一個自助服務終端應用程序,所以我從這個帖子中選擇了notifocation bar:Prevent status bar for appearing android (modified)

每次點擊都會觸發一個事件來添加一個視窗到窗口。所以我檢查視圖是否已經添加到窗口中。它解決了我的問題。