繁体   English   中英

getStringExtra()有效,但getIntExtra()返回null

[英]getStringExtra() works but getIntExtra() returns null

当我尝试将String额外传递给下一个活动时,它工作正常。 当我尝试传递类似于以下代码的int时,它崩溃并引发Resources $ NotFoundException。 我已经玩了几个小时,所以我想可以从中获得一些指导。

这是来自通过putExtra()传递值的活动的代码

public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
            long arg3) {
        // TODO Auto-generated method stub
        Intent cP = new Intent("com.example.loldb.championscreen");
        int x = arg2 + 1;
        System.out.println(x);
        cP.putExtra("champNo", x);
        startActivity(cP);

    }

这是尝试获取getIntExtra()数据的接收活动的代码

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_champion_screen);

    Intent intent = getIntent();

    TextView cName = (TextView) findViewById(R.id.cname);
    int temp = intent.getIntExtra("champNo", 0);

    //int champNo = Integer.parseInt(temp);

    cName.setText(temp);


}

如果可能的话,我想对此做一个解释,以便我能多了解一点。 提前致谢。

改成

cName.setText(String.valueOf(temp));

setText将采用字符setText 有一个采用int值的资源。 如果找不到,您最终将得到ResourceNotFoundException

public final void setText (int resid)

取残渣为一个整数。

你需要什么

public final void setText (CharSequence text)

API级别1中添加设置TextView的字符串值。 TextView不接受类似HTML的格式,您可以使用XML资源文件中的文本字符串来进行格式化。 要设置字符串样式,请将android.text.style。*对象附加到SpannableString,或参阅“可用资源类型”文档以获取在XML资源文件中设置格式化文本的示例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM