Android 意图传递数据
Android Intents to pass data
我不知道为什么,但这不起作用。谁能看出我的代码有什么问题。
我有两个活动,我正在传递来自两个
的数据
public class InputActivity extends AppCompatActivity {
EditText number1EditText;
EditText number2EditText;
Button addButton;
InputActivity 代码如下所示
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_input);
number1EditText = (EditText)findViewById(R.id.editText);
number2EditText = (EditText)findViewById(R.id.editText2);
addButton = (Button)findViewById(R.id.button);
addButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent mIntent = new Intent(getApplicationContext(), AddActivity.class);
mIntent.putExtra("number1", number1EditText.getText().toString());
mIntent.putExtra("number2", number2EditText.getText().toString());
startActivity(mIntent);
}
});
}
AddActivity 代码如下所示
public class AddActivity extends AppCompatActivity {
TextView answer;
double y=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add);
answer =(TextView)findViewById(R.id.textView);
String value1 = getIntent().getExtras().getString("number1");
String value2 = getIntent().getExtras().getString("number2");
answer.setText((int) (Double.parseDouble(value1)+Double.parseDouble(value2)));
}
只是快速查看:
answer.setText((int) (Double.parseDouble(value1)+Double.parseDouble(value2)));
您正在将 int
传递给方法 setText()
,该方法恰好有一个重载,当您从 String
在一些 xml
中。您可能会收到 ResourceNotFoundException
.
如果您想显示包含您的值之间总和的文本:
answer.setText(String.valueOf((int) (Double.parseDouble(value1)+Double.parseDouble(value2))));
请记住,您必须先做很多检查,在进行这种解析时您可能会遇到另一个异常,例如 NumberFormatException
。
我不知道为什么,但这不起作用。谁能看出我的代码有什么问题。
我有两个活动,我正在传递来自两个
的数据public class InputActivity extends AppCompatActivity {
EditText number1EditText;
EditText number2EditText;
Button addButton;
InputActivity 代码如下所示
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_input);
number1EditText = (EditText)findViewById(R.id.editText);
number2EditText = (EditText)findViewById(R.id.editText2);
addButton = (Button)findViewById(R.id.button);
addButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent mIntent = new Intent(getApplicationContext(), AddActivity.class);
mIntent.putExtra("number1", number1EditText.getText().toString());
mIntent.putExtra("number2", number2EditText.getText().toString());
startActivity(mIntent);
}
});
}
AddActivity 代码如下所示
public class AddActivity extends AppCompatActivity {
TextView answer;
double y=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add);
answer =(TextView)findViewById(R.id.textView);
String value1 = getIntent().getExtras().getString("number1");
String value2 = getIntent().getExtras().getString("number2");
answer.setText((int) (Double.parseDouble(value1)+Double.parseDouble(value2)));
}
只是快速查看:
answer.setText((int) (Double.parseDouble(value1)+Double.parseDouble(value2)));
您正在将 int
传递给方法 setText()
,该方法恰好有一个重载,当您从 String
在一些 xml
中。您可能会收到 ResourceNotFoundException
.
如果您想显示包含您的值之间总和的文本:
answer.setText(String.valueOf((int) (Double.parseDouble(value1)+Double.parseDouble(value2))));
请记住,您必须先做很多检查,在进行这种解析时您可能会遇到另一个异常,例如 NumberFormatException
。