当我尝试将字符串额外传递给下一个活动时,它工作正常。当我尝试传递类似下面的代码的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);
}
如果可能的话,我想就这件事得到解释,所以我可以多了解一下。 提前谢谢。
答案 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资源文件中设置格式化文本的示例。