在处理程序中单击侦听器

On Click Listener Inside a Handler

我的加载 Activity 中有一个 Handler 延迟了我的 Intent 到下一个 Activity(效果很好)。

我想做的是,在延迟结束后,我想要一个覆盖所有屏幕的点击监听器,但它不起作用!
我试过 public void OnClickView.onClickListener none 它们在 Handler

中工作

我该如何解决这个问题?

我的处理程序代码:

new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {
            overridePendingTransition(R.anim.animin, R.anim.animout);
            final Intent mainIntent = new Intent(LoadingActivity.this, StartActivity.class);
            LoadingActivity.this.startActivity(mainIntent);
            LoadingActivity.this.finish();
        }
    }, 6000);
}    

创建一个与屏幕布局相匹配的空视图,然后在适当的时候为show/hide视图设置逻辑?

你想要的是在点击屏幕时启动 activity 但只是在延迟之后??

那么你应该在处理程序中设置监听器:

    setContentView(R.layout.mylayout);
    final View mScreen = findViewById(R.id.whole_layout);
    new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {
            mScreen.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    overridePendingTransition(R.anim.animin, R.anim.animout);
                    final Intent mainIntent = new Intent(LoadingActivity.this, StartActivity.class);
                    LoadingActivity.this.startActivity(mainIntent);
                    LoadingActivity.this.finish();
                }
            });
        }
    }, 6000);

mylayout.xml:

<LinearLayout
    android:id="@+id/whole_layout"
    android:clickeable="true"
    ...>
       <!-- your content -->
</LinearLayout>

您可以使用您想要的布局类型