getBooleanExtra() 仅使用默认参数,而不使用 putExtra() 传递的参数

2023-11-24

这是代码。在这一部分中,answerIsTrue变量应该初始化为 true,它正确地执行了(我调试和检查)并且也正确地传递到 putExtra() (再次,我调试和检查)。

mCheatButton.setOnClickListener(new View.OnClickListener(){
        public void onClick(View v){
            Intent i = new Intent(QuizActivity.this, CheatActivity.class);
            boolean answerIsTrue = mQuestionBank[mCurrentIndex].isTrueQuestion();
            i.putExtra(CheatActivity.EXTRA_ANSWER_IS_TRUE, answerIsTrue);
            startActivity(i);
        }
    });

但来到不同的班级,变量mAnswerIsTrue尽管 putExtra() 传递的参数为 true,但仍被分配为 false(可能是由于默认参数)。这是代码。

mAnswerIsTrue = getIntent().getBooleanExtra(EXTRA_ANSWER_IS_TRUE, false);

我也调试了这一行,它确实被分配为 false。可能出什么问题了?

这是完整的CheatActivity class:

public class CheatActivity extends Activity {
public static final String EXTRA_ANSWER_IS_TRUE = "com.bignerdranch.android.geoquiz.answer_is_true";
private Button mShowAnswerButton;
private boolean mAnswerIsTrue;
private TextView mAnswerTextView;
@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_cheat);
    mAnswerIsTrue = getIntent().getBooleanExtra(CheatActivity.EXTRA_ANSWER_IS_TRUE, false);
    mAnswerTextView = (TextView)findViewById(R.id.answerTextView);
    mShowAnswerButton = (Button)findViewById(R.id.showAnswerButton);
    mShowAnswerButton.setOnClickListener(new View.OnClickListener(){
        public void onClick(View v){
            if (mAnswerIsTrue){
                mAnswerTextView.setText(R.id.true_button);
            }else{
                mAnswerTextView.setText(R.id.false_button);
            }
        }
    });
}

}

注意:我是一个完全的初学者,刚刚学习调试。


我不能确定,但​​我最好的猜测是, getBooleanExtra() 不好。我建议使用简单的 getExtras 然后获取你的值。

 i.putExtra(EXTRA_ANSWER_IS_TRUE, value);

 Bundle args = MyActivity.getIntent().getExtras();
 boolean istrue= args.getBoolean(EXTRA_ANSWER_IS_TRUE, false);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

getBooleanExtra() 仅使用默认参数,而不使用 putExtra() 传递的参数 的相关文章

随机推荐

  • WCF本身支持多线程吗?

    我开发了一个概念验证应用程序 用于查询 WCF 是否支持多线程 现在 我所做的就是创建一个标记为的服务合同 ServiceBehavior InstanceContextMode InstanceContextMode Single Con
  • 正则表达式匹配空(或全空白)字符串

    我想匹配一个可以有任何类型的空白字符的字符串 特别是我使用的是 PHP 或者任何判断字符串是否为空或只有空格的方法也会有所帮助 您不需要为此使用正则表达式 只需使用 if Trim str echo empty string
  • 使用 EXTRA_PLUGGED 获取 USB 电缆插入 IN/OUT 事件不起作用

    我的目的是在首选项中保存 Android 设备 USB 电源线的当前状态 已连接 已断开 从开发者网站我看到有两个获取该状态的意图 ACTION POWER CONNECTED DISCONNECTED 所以我使用了与开发人员发布的相同的代
  • 应用性与单子组合器以及 Scalaz 中的自由单子

    几周前德拉吉萨 克斯曼诺维奇 asked 这里有一个问题关于如何在 Scala 7 中使用 free monad 来避免这种情况下的堆栈溢出 我对他的代码进行了一些调整 import scalaz Scalaz def setS i Int
  • 为什么“numpy.any”没有短路机制?

    我不明白为什么这么基本的优化还没有完成 In 1 one million ones np ones 10 6 In 2 timeit one million ones any 100 loops best of 3 693 s per lo
  • 如何增加摩卡中单个测试用例的超时

    我正在测试用例中提交网络请求 但这有时需要超过 2 秒 默认超时 如何增加单个测试用例的超时 干得好 http mochajs org test level it accesses the network function done thi
  • 在 alpine 上安装 MongoDB 时出现问题

    RUN echo http dl cdn alpinelinux org alpine v3 6 community gt gt etc apk repositories RUN apk update RUN apk add mongodb
  • ASP.Net MVC 3 - 客户端对编辑器模板进行不显眼的验证

    我是 ASP Net MVC 3 的新手 在尝试对我创建的用于以自定义方式显示日期的编辑器模板实现客户端非侵入式验证时遇到一些问题 UI我需要在 a 中显示日期三个文本框 UI格式为 我已经放了一个编辑器模板用于将日期显示为三部分 mode
  • C 中的随机数组

    我正在寻找 ANSI C 中的一个函数 它可以像 PHP 那样随机化数组shuffle 做 有这样的功能还是需要自己写 如果我必须自己编写 最好 最高效的方法是什么 到目前为止我的想法 迭代数组 例如 100 次 并将一个随机索引与另一个随
  • 生成compatibility-v7-appcompat的APKLIB

    我想开始使用新的ActionBar of the appcompat v7支持库 我正在使用maven 我尝试创建一个 apklib 这些是我遵循的步骤 创建项目的 ZIP 文件android sdks extras android sup
  • HttpBrowserCapability.Crawler 属性 .NET

    HttpBrowserCapability Crawler 属性 http msdn microsoft com en us library aa332775 VS 71 aspx 工作 我需要检测合作伙伴的自定义爬网程序 并且此属性返回
  • 如果 char c = 0x80,为什么 printf("%d\n", c << 1) 输出 -256?

    include
  • 全程UTF-8

    我正在设置一个新服务器 并希望在我的 Web 应用程序中完全支持 UTF 8 我过去曾在现有服务器上尝试过此操作 但似乎总是最终不得不退回到 ISO 8859 1 我到底需要在哪里设置编码 字符集 我知道我需要配置 Apache MySQL
  • RequireJS 插件( order.js )

    http requirejs org 我最近下载了 require js 2 0 但我的控制台出现错误 Uncaught TypeError Object function var g ga call arguments 0 e if f
  • 在C中调用函数而不是宏

    我的问题是 如果你有一个宏和一个同名的函数 那么只有宏会被调用 对吗 如果我想调用函数而不是宏怎么办 如果您有一个函数和一个类似函数的宏 两者都命名为foo并且想要调用函数版本 你可以这样做 foo args 这是可行的 因为类似函数的宏名
  • 如何检查 Android 订阅中的交易是否免费试用?

    是否可以知道订阅是否是作为免费试用购买的 目前我找不到在服务器 设备端执行此操作的方法 有人有建议如何去做吗 2017 年 6 月 9 日 页面https developers google com android publisher ap
  • 上的 CSS 动画

    我正在尝试将 CSS 动画应用到 span 元素 但我无法让它工作 我找不到任何说明动画是否可以应用于的资源 span 元素 那么 是我犯了错误 还是跨度动画免疫了 编辑 代码 Inf span class inf o o span rma
  • 是否可以在 google protobuf 中定义类型(枚举或消息)的别名?

    我的原型文件中有两个枚举 它们定义了几乎相同的值 是否可以删除其中一个并保留别名以保持所有代码正常工作 Example enum A a 0 b 1 enum B a 0 b 1 我想要在 C 中有类似 typedef 的东西 enum A
  • 为什么 Firefox 渲染的虚线边框彼此不对齐?

    http betawww helpcurenow org about financial accountability http blog helpcurenow org 我使用的设计包含大量 1px 虚线边框 我注意到 Firefox 中
  • getBooleanExtra() 仅使用默认参数,而不使用 putExtra() 传递的参数

    这是代码 在这一部分中 answerIsTrue变量应该初始化为 true 它正确地执行了 我调试和检查 并且也正确地传递到 putExtra 再次 我调试和检查 mCheatButton setOnClickListener new Vi