2015-02-08 19 views
0

我只是想知道是否有可能换到别的活动中,一个复选框已被选中后,一旦其选中它进入该活动5秒钟后或负载的东西,说,请稍候再改变。如果该活动已返回到复选框不再被检查。Android的复选框勾选更改活动

我还没有得到任何的代码,因为我只是围绕文档阅读,还没有发现过这么只是想知道是否有人做过类似的东西,如果他们可以分享吗?

谢谢!

回答

1
checkBox.setChecked(false); //put this in onResume() or onCreate() or something 

checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() { 
     @Override 
     public void onCheckedChanged(CompoundButton buttonView, 
       boolean isChecked) { 
      if (isChecked){ 
       new Handler().postDelayed(new Runnable() { 
        @Override 
        public void run() { 
        Intent i = new Intent(FirstActivity.this, SecondActivity.class); 
        startActivity(i); 
        FirstActivity.this.finish(); 
        } 
       }, 5000); //wait for 5 seconds 
      } 
     } 
    }); 
+0

完美的欢呼声此! – Bimal 2015-02-08 23:48:33

+0

我认为这种方法会导致问题......当您在5秒内频繁地执行检查和取消操作时。请确认它可以使任何问题或不...它可以在堆栈中打开多个活动时,你会按后退按钮,然后你也将看到同样的画面... – 2015-02-09 01:02:39

+0

要么添加标记,以检查活动已经启动队列启动或使用singleTop的launchMode以避免进行多项活动。不知道延迟做什么的用例,但无论如何! – Necronet 2015-02-10 09:05:08

1

看来你可能要做到这一点无论是在onCheckListeneronClickListener,并开始与startActivity(intent)

下一个活动。如果您需要延迟,你可能希望使用一个Handler.postDelayed方法,但不能完全肯定。如果我了解你的工作流程,所以请尝试更详细地解释它。