Java 如何在另一个活动中显示从一个活动传递的值?
我在这里将Number1和Number2的两个值从FirstActivity传递到SecondActivity。在SecondActivity中,我显示这两个数字,然后在单击“加号”按钮后计算其总和,并在文本视图中显示总和Java 如何在另一个活动中显示从一个活动传递的值?,java,android,android-studio,Java,Android,Android Studio,我在这里将Number1和Number2的两个值从FirstActivity传递到SecondActivity。在SecondActivity中,我显示这两个数字,然后在单击“加号”按钮后计算其总和,并在文本视图中显示总和 public class FirstActivity extends AppCompatActivity { Button OkButton; EditText et_number1; EditText et_number2; String
public class FirstActivity extends AppCompatActivity {
Button OkButton;
EditText et_number1;
EditText et_number2;
String number1;
String number2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_first);
OkButton = (Button) findViewById(R.id.ok_btn);
et_number1 = (EditText) findViewById(R.id.ac1pt1);
et_number2 = (EditText) findViewById(R.id.ac1pt2);
number1 = et_number1.getText().toString();
number2 = et_number2.getText().toString();
OkButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(FirstActivity.this,"Ok button clicked",Toast.LENGTH_SHORT).show();
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
intent.putExtra("EXTRAN1",number1);
intent.putExtra("EXTRAN2",number2);
startActivity(intent);
}
});
}
}
public class SecondActivity extends AppCompatActivity {
String no1;
String no2;
Button plus;
Button minus;
Button multiply;
Button divide;
TextView answer;
TextView tv_number1;
TextView tv_number2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
plus = (Button) findViewById(R.id.plus);
minus = (Button) findViewById(R.id.minus);
multiply = (Button) findViewById(R.id.multiply);
divide = (Button) findViewById(R.id.division);
answer = (TextView) findViewById(R.id.actv3);
Intent i = getIntent();
no1= i.getStringExtra("EXTRAN1");
no2= i.getStringExtra("EXTRAN2");
tv_number1 = (TextView ) findViewById(R.id.ac2tv1);
tv_number2 = (TextView ) findViewById(R.id.ac2tv2);
tv_number1.setText(no1);
tv_number2.setText(no2);
plus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
addition();
}
});
}
public void addition(){
double n1 = Double.parseDouble(tv_number1.getText().toString());
double n2 = Double.parseDouble(tv_number2.getText().toString());
double result = n1 +n2;
String r = Double.toString(result);
answer.setText(r);
}
}
尽管代码中没有显示错误,但当我运行应用程序时,数字1和数字2的两个值没有显示,并且计算也不起作用。我该如何更正此问题?您已通过单击按钮设置了变量。
并且您的变量将没有值。
您应该将下面的代码复制到您的按钮,然后单击侦听器代码
OkButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(FirstActivity.this,"Ok button clicked",Toast.LENGTH_SHORT).show();
number1 = et_number1.getText().toString();
number2 = et_number2.getText().toString();
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
intent.putExtra("EXTRAN1",number1);
intent.putExtra("EXTRAN2",number2);
startActivity(intent);
}
});
首先,从extra获得“no1”和“no2”的结果后,将其记录在控制台中,以确保成功检索值。