Android:所有视图都需要2次点击才能触发OnClick事件

时间:2015-01-23 23:44:56

标签: android events onclick

我的Android平板电脑应用程序(7英寸平板电脑)出现问题,我需要点击两次任意视图才能触发点击事件或焦点事件。当我说任何视图我的意思是:(ImageView,EditText,Spinner或任何自定义视图(即:具有子视图的RelativeLayout))。在最初点击两次之后 - 点击事件似乎更具响应性。但随后进入下一个活动同样的问题出现了。我已经看到了使用Touch事件的解决方案,或者除了click事件之外还要监听焦点事件,然后调用performClick(),但这些都没有起作用,只是看起来像Band Aides并且没有找到问题的根源。我需要一个包罗万象的解决方案,用于我所有活动中的所有视图。我使用SDK 16在Android 4.2.2上。此外,如果事件涉及根布局或子视图也无关紧要。

更新(1-30-2015): 我认为这个问题与导航栏或“软按钮”有关。我总是隐藏这个以获得房地产。但是,如果我向上滑动以显示导航栏,然后点击我的一个视图,它将可靠地触发点击事件。那么如何隐藏导航栏并让我的点击事件可靠地触发? Hmmmm .....

未可靠接收点击事件的示例视图:

<ImageView
            android:id="@+id/img_ts_logo"
            android:layout_width="@dimen/app_icon_width"
            android:layout_height="wrap_content"
            android:adjustViewBounds="true"
            android:scaleType="fitCenter"
            android:layout_centerVertical="true"
            android:layout_marginLeft="@dimen/app_icon_margin"
            android:layout_marginRight="@dimen/app_icon_margin"
            android:src="@drawable/logo_notext"/>  




    private View.OnClickListener logoListener = new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Intent intent = new Intent(Intent.ACTION_MAIN);
            intent.setClassName("com.android.settings", "com.android.settings.LanguageSettings");
            startActivity(intent);
        }
    };

1 个答案:

答案 0 :(得分:1)

我认为这与显示的软导航栏有关(我假设您最初隐藏它),也许如果您永久隐藏导航键,则无需双击(初始点击会调出隐藏键然后按钮上的监听器激活)

在按钮或主要布局上尝试此操作:

[view].setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

参考:Hide ICS back home task switcher buttons