Java 如何在另一个活动中显示从一个活动传递的值?

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

我在这里将Number1和Number2的两个值从FirstActivity传递到SecondActivity。在SecondActivity中,我显示这两个数字,然后在单击“加号”按钮后计算其总和,并在文本视图中显示总和

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”的结果后,将其记录在控制台中,以确保成功检索值。