活动显示,但在android中5秒后将启用带有的控件

活动显示,但在android中5秒后将启用带有的控件,android,Android,我在这一个图像视图中显示一个活动,只有图像显示给用户。用户将不允许执行任何任务,如喜欢或评论。 屏幕将保持5秒。 之后,该屏幕上的控件将启用并可用 即使用户不允许从屏幕返回,直到5秒结束。 如何实现此功能 我已经写了代码 public class AdvertActivity extends Activity implements OnClickListener { ImageView ivEAdvertUserImage,ivEAdvertImage; TextView tvEAdvert

我在这一个图像视图中显示一个活动,只有图像显示给用户。用户将不允许执行任何任务,如喜欢或评论。 屏幕将保持5秒。 之后,该屏幕上的控件将启用并可用 即使用户不允许从屏幕返回,直到5秒结束。 如何实现此功能

我已经写了代码

public class AdvertActivity extends Activity implements OnClickListener {

ImageView ivEAdvertUserImage,ivEAdvertImage;
TextView  tvEAdvertDislike,tvEAdvertLike,tvEAdvertHeading;
EditText etEAdvertComments;
Button btnEAdvertSubmit;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_advert);
    InitUI();
    tvEAdvertLike.setOnClickListener(this);
    tvEAdvertDislike.setOnClickListener(this);
    btnEAdvertSubmit.setOnClickListener(this);
}

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
    switch (v.getId()) {
    case R.id.tvEAdvertLike:
        tvEAdvertLike.setTextColor(color.Blue);
        break;
    case R.id.tvEAdvertDislike:
        tvEAdvertDislike.setTextColor(color.Blue);
        etEAdvertComments.setEnabled(true);
        btnEAdvertSubmit.setEnabled(true);
        break;
    case R.id.btnEAdvertSubmit:
        Intent in =new Intent(AdvertActivity.this,EAdFragment.class);
        startActivity(in);
        finish();
        break;
    default:

        break;
    }
}


public void InitUI(){
    ivEAdvertUserImage=(ImageView)findViewById(R.id.ivEAdvertUserImage);
    ivEAdvertImage=(ImageView)findViewById(R.id.ivEAdvertImage);
    etEAdvertComments=(EditText)findViewById(R.id.etEAdvertComments);
    tvEAdvertDislike=(TextView)findViewById(R.id.tvEAdvertDislike);
    tvEAdvertLike=(TextView)findViewById(R.id.tvEAdvertLike);
    tvEAdvertHeading=(TextView)findViewById(R.id.tvEAdvertHeading);
    btnEAdvertSubmit=(Button)findViewById(R.id.btnEAdvertSubmit);
}



}
这样,您的侦听器将在5秒后设置。在此之前,如果有人点击按钮,按钮等将不起作用


(现在无法测试我的代码,但它应该可以工作)

为什么不使用Handler.postDelayed(Runnable,time in millis)或Timer任务?我认为这是解决你问题的最简单方法。你熟悉定时器吗?试过什么吗?别提了。随时准备帮助所有人!没问题。如果我的答案解决了你的问题,请接受我的答案(左边的小复选标记)。
@Override
protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_advert);
    InitUI();

    final Handler handler = new Handler();
    handler.postDelayed(new Runnable() 
    {
        @Override
        public void run() 
        {
            //  Will be called after 5000ms
            tvEAdvertLike.setOnClickListener(this);
            tvEAdvertDislike.setOnClickListener(this);
            btnEAdvertSubmit.setOnClickListener(this);
        }
    }, 5000);
}