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