[英]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.