getStringExtra()工作,但getIntExtra()返回null
问题描述:
当我试图传递一个字符串额外的下一个活动,它工作正常。当我尝试像下面的代码那样传递int时,它会崩溃并抛出Resources $ NotFoundException。我一直在玩它几个小时,所以我想我可以得到一些指导。getStringExtra()工作,但getIntExtra()返回null
这是不同于传递值与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
将采取charactersequence。有一个采用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资源文件中设置格式化文本的示例。
哦,我认为这是一个int,实际上是一个整数。它永远不会让我知道这是一种资源。谢谢! – user3370206 2014-09-28 04:13:53
@ user3370206看看setText @ http://developer.android.com/reference/android/widget/TextView.html – Raghunandan 2014-09-28 04:15:18