我遇到了一个非常简单的问题。 我想在一个活动中取一个数字输入,然后在另一个活动上显示它。
input.java
Button ok = (Button) findViewById(R.id.inputok);
ok.setOnClickListener (new OnClickListener ()
{
public void onClick(View vie)
{EditText et = (EditText) findViewById(R.id.ei);
a = Integer.valueOf(et.getText().toString());
Intent intent= new Intent (input.this, answer.class);
intent.putExtra("i", a );
startActivity(intent);
}
} );
现在,在将其显示在另一个上之前,我想对整数执行一些操作,比如+1。
answer.java
Bundle extras = getIntent().getExtras();
int a = extras.getInt("i");
++a;
TextView TV= (TextView) findViewById(R.id.TV);
TV.setText(a);
当我尝试运行它时,应用程序关闭,代码是否有问题?
答案 0 :(得分:1)
在将整数设置为textview之前,必须将整数转换为字符串,如下所示,
Integer.toString(a);
祝你好运
答案 1 :(得分:0)
我希望问题是在setText();
试试这个,
int intent_data = getIntent().getExtras().getInt("i"); // to Get the data
// Now increment the value.
int newVal= intent_data+1; // or intent_data++;
TextView TV= (TextView) findViewById(R.id.TV);
TV.setText(""+newVal);
或者你可以使用,
int intent_data = getIntent().getExtras().getInt("i"); // to Get the data
// Now increment the value.
int newVal= intent_data+1;
TextView TV= (TextView) findViewById(R.id.TV);
String s = String.valueOf(newVal);
TV.setText(s);
答案 2 :(得分:0)
是,
问题是 TV.setText(a);
我们只能在setText方法中设置CharSequence,你试图将整数值设置为错误的
请尝试 TV.setText(“”+ a);
我希望你的代码在获得它之后能正常工作。