我是Android的新手,所以我只是想做一个简单的应用程序,它需要一个整数数据,而不是移动号码。从一个活动到另一个活动(在两个活动中它都存储在edittext中)。我在发件人活动中使用了以下代码 -
done.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
Intent i=new Intent(ctx,MainActivity.class);
i.putExtra("number", Long.parseLong(edittext.getText().toString()));
ctx.startActivity(i);
}
});
以下是接收者活动中的接收代码 -
num=getIntent().getIntExtra("number", set_default);
accept(num);
protected void accept(long t) {
// TODO Auto-generated method stub
edittext=(EditText)findViewById(R.id.editText1);
String a=(edittext.getText().toString()+t);
clear(edittext);
edittext.append(a);
}
private void clear(EditText edittext) {
// TODO Auto-generated method stub
edittext.setText("");
}
num的类型为long。
上述代码的问题在于它正常工作到数字的8位数,但不能用9位数字。 以前我在发件人活动中使用带有num和int.parseInt的int和putExtra,但在问题发生后改为很久,但它保留了。
任何人都可以帮我解决这个问题吗?
答案 0 :(得分:2)
您仍在使用getIntExtra
。使用getLongExtra
。
num=getIntent().getLongExtra("number", (long) set_default);