在处理程序内部单击侦听器

时间:2016-01-08 15:31:15

标签: android android-studio handler onclicklistener

我的加载活动中有一个Handler,将Intent延迟到下一个活动(效果很好)。

我想要做的是,在延迟结束后,我想要一个覆盖所有屏幕的点击监听器,但它不起作用!
我尝试过公开无效OnClickView.onClickListener这些都没有在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);
}    

2 个答案:

答案 0 :(得分:0)

创建一个与屏幕布局相匹配的空视图,然后设置逻辑以在适当时显示/隐藏视图?

答案 1 :(得分:0)

你想要的是在点击屏幕后开始活动但是在延迟之后?

然后你应该在处理程序中设置监听器:

    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>

您可以使用您希望的布局类型