putExtra(" int",value)但getIntent错误

时间:2018-04-09 17:46:29

标签: java android

请帮助解释此代码

当我按下它以将文字和数字发送到另一个活动时,我想要的第一个活动中有一个按钮

但我想在TextView 1中显示文本,在TextView2中显示数字 我成功地将文本发送到指定位置,但发送号码时遇到问题

我尝试了许多代码并且故障仍然存在。 这是您用于成功发送文本但未能发送号码的最后一个代码

第一项活动的代码:

Intent intent = new Intent( this, Order.class );
String keyIdentifer  = null;
intent.putExtra( "String", text );
intent.putExtra( "Int", price );
startActivity( intent );

第二个活动的代码:

TextView userName = (TextView)findViewById(R.id.the_order);
Intent iin= getIntent();
Bundle b = iin.getExtras();

if(b!=null)
{
  String j =(String) b.get("String");
  userName.setText(j);
}
TextView userName1 = (TextView)findViewById(R.id.price);
Intent ii= getIntent();
Bundle bb = ii.getExtras();

if(bb!=null)
{
  int jj =(int) bb.get("Int");
  userName1.setText(jj);
}

4 个答案:

答案 0 :(得分:0)

获取int为:

int jj = yourintent.getIntExtra("Int");

您不需要先获取捆绑包,这种方式是围绕您正在做的事情,并为您提供相同的值

另一个错误是您在setText方法中设置了一个int值。

此方法接受int但它期望int值为资源标识符。由于您传递的值不是资源ID,因此无法找到资源。

userName1.setText(String.valueOf(jj));

基本上,如果要将TextView值设置为int,请永远不要忘记将其转换为字符串。抛出的错误是可怕的措辞,并没有远程表明这是实际问题。

答案 1 :(得分:0)

Intent intent = new Intent(this, Activity.class);
intent.putExtra("Int", 4);
startActivity(intent);

在活动中它会......

Intent intent = getIntent;
int getInt = intent.getIntExtra("Int");
System.out.println(getInt);

设置一个testview:

textView.setText(String.valueOf(getInt);

答案 2 :(得分:0)

您的问题是您在editText中设置了Int值:

int jj =(int) bb.get("Int");
userName1.setText(jj);

设置int值时只需执行此操作:

int jj =(int) bb.get("Int");
userName1.setText(jj+"");

答案 3 :(得分:0)

只需更改

bb.get("Int");

bb.getInt("Int");