2015-12-14 56 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)

每次点击都会触发一个事件来添加一个视窗到窗口。所以我检查视图是否已经添加到窗口中。它解决了我的问题。