当前位置: 首页 > 知识库问答 >
问题:

为什么getIntExtra()总是默认值

孔征
2023-03-14

首先,我的声明是:

js lang-js prettyprint-override">     public static final String EXTRA_TEXT="com.example.application.example.EXTRA_TEXT";
    public static final String EXTRA_NUMBER="com.example.application.example.EXTRA_NUMBER";

我的主要活动获取编号和文本:

        public void openActivity2(){
            EditText editText1 = (EditText) findViewById(R.id.edittext1);
            String text = editText1.getText().toString();
            EditText editText2 = (EditText) findViewById(R.id.edittext2);
            String number = (editText2.getText().toString());

          
          Intent intent = new Intent(this, Activity2.class);
            intent.putExtra(EXTRA_TEXT, text);
            intent.putExtra(EXTRA_NUMBER, number);
            startActivity(intent);
        }
    }

我的Activity2应该得到数字和文本:

 protected void onCreate(Bundle savedInstanceState) {
        .......
        Intent intent=getIntent();
        String text = intent.getStringExtra(MainActivity.EXTRA_TEXT);
        int num=intent.getIntExtra(MainActivity.EXTRA_NUMBER,0);

文本很受欢迎,但数值始终为0。

共有1个答案

端木朝
2023-03-14

intent.putExtra(EXTRA_NUMBER,数字);行,您将字符串不是int格式,因此getIntExtra返回默认值,尝试intent.getStringExtra(key)intent.getExtras(). get(key)

 类似资料:
  • 在C#中,当我创建一个空类时,它提供了一个默认的构造函数,但是当我提供一个带有参数的构造函数时,默认的构造函数不再被创建。 我的问题是: 为什么编译器不再给我默认的构造函数呢 这些问题来自于WCF,我需要默认构造函数,但也希望能够为构造函数提供值,并且不必每次都放置默认构造函数,而且我不认为未使用的默认构造函数会使很多开销。

  • 学习Java8默认方法。这个链接就像互联网上的其他资源一样说 在“最严格的意义上”,默认方法是一种倒退,因为它们允许你用代码“污染”你的接口。但它们提供了允许向后兼容的最优雅和最实用的方法。它使Oracle更容易更新所有集合类,也使您更容易为Lambda修改现有代码。 我的理解是Java8Dev/Designers在接口中提供了默认方法,这样所有实现类就不必不必要地重写相同的行为,从而提供了向后兼

  • 我正在使用JAXP XSLT API(javax.xml.transform)来转换xml文件。 TransformerFactory的javadoc表示:它使用以下有序查找过程来确定要加载的TransformerFactory实现类: 使用javax。xml。使改变TransformerFactory系统属性 使用JRE目录中的属性文件“lib/jaxp.properties”。此配置文件采用标

  • Kubernetes的pods(部署)活跃性和就绪性问题可以用这个初始延迟来配置----这意味着问题将在容器启动后的这多次发送之后开始。如果没有指定,默认值是多少?我好像找不到了。periodSeconds的默认值记录为10秒。 谢谢

  • 问题内容: 我正在尝试解析MySQL 文档。他们可能会更清楚。他们似乎在说的是,有五种可能性:SET NULL,NO ACTION,RESTRICT,CASCADE和SET DEFAULT。 NO ACTION和RESTRICT会执行相同的操作(防止破坏FK的任何数据库更改),并且该操作是默认操作,因此,如果省略ON DELETE子句,则表示NO ACTION(或RESTRICT -是相同的操作)

  • 问题内容: 如果没有覆盖该方法,默​​认的实现是什么? 问题答案: 然后,此类从其祖先之一继承。如果它们都不覆盖它,则使用Object.hashCode。 从文档: 在合理可行的范围内,由Object类定义的hashCode方法确实为不同的对象返回不同的整数。(通常通过将对象的内部地址转换为整数来实现,但是JavaTM编程语言不需要此实现技术。) 因此默认实现是特定于JVM的