【问题标题】:Android Checkbox ticked change activityAndroid Checkbox 勾选了更改活动
【发布时间】:2015-02-08 23:31:04
【问题描述】:

我只是想知道是否可以在选中复选框后更改为另一个活动,并且一旦选中,它会在 5 秒后进入该活动或加载一些说请稍候然后更改的内容。如果该活动已返回复选框,则不再选中。

我没有得到任何代码,因为我只是在阅读文档并没有找到任何东西,所以只想知道是否有人做过类似的事情,是否可以分享一下?

谢谢!

【问题讨论】:

    标签: android redirect android-activity checkbox


    【解决方案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
                }
            }
        });
    

    【讨论】:

    • 我认为这种方法会导致问题...当您在 5 秒内频繁执行检查和取消检查操作时。请确认它是否会导致任何问题...它可能会在堆栈中打开多个活动,当您按下返回按钮时,您也会看到相同的屏幕...
    • 要么添加一个标志来检查活动是否已经启动队列,要么使用singleTop的launchMode来避免有多个活动。不知道做延迟的用例是什么,但无论如何!
    【解决方案2】:

    看来您可能想在onCheckListeneronClickListener 中执行此操作,并使用startActivity(intent) 开始下一个活动

    如果您需要延迟,您可能想要使用Handler.postDelayed 方法,但不完全确定如果我理解您的工作流程,请尝试更详细地解释它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-26
      • 1970-01-01
      • 1970-01-01
      • 2013-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多