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

时间:2014-09-28 04:10:03

标签: java android

当我尝试将字符串额外传递给下一个活动时,它工作正常。当我尝试传递类似下面的代码的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);


}

如果可能的话,我想就这件事得到解释,所以我可以多了解一下。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

更改为

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

setText将采用符号序列。有一个接受作为资源的int值。如果没有找到,您最终会获得ResourceNotFoundException

public final void setText (int resid)

采用渣油,这是一个int。

你需要什么

public final void setText (CharSequence text)

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