为什么putextra没有传递价值?

时间:2019-04-16 18:33:54

标签: java android

我正在尝试将结果从MainActivity发送到SecondActivity,但它始终返回默认值,而不是结果。我是个乞讨人,如果有人可以帮助我,那会很好。

我已经尝试了所有想到的方法,但是没有任何效果。

 btnPlus.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String prvi=etPrviBroj.getText().toString().trim();
                String drugi=etDrugiBroj.getText().toString().trim();
                prviBroj=Integer.parseInt(prvi);
                drugiBroj=Integer.parseInt(drugi);
                rez=prviBroj+drugiBroj; //declared as an int and set to 0
                Intent intent=new 
Intent(MainActivity.this,SecondActivity.class);
                intent.putExtra("rez",rez);
            }
        });

//and in the second activity
rezultat=getIntent().getIntExtra("rez",0);

3 个答案:

答案 0 :(得分:0)

在第一次活动中:

btnSum.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        if (!edt1.getText().toString().isEmpty() && !edt2.getText().toString().isEmpty()) {
            sum = Integer.parseInt(edt1.getText().toString()) + Integer.parseInt(edt2.getText().toString());
            Intent intent = new Intent(Main2Activity.this, MainActivity.class);
            intent.putExtra("RESULT", sum);
            startActivity(intent);
            txtAns.setText("" + sum);
        } else if (edt1.getText().toString().isEmpty()) {
            edt1.setError("Please enter no1 ");
        } else if (edt2.getText().toString().isEmpty()) {
            edt2.setError("Please enter no2 ");

        }
    }
});

第二次活动

int sum= getIntent().getIntExtra("RESULT",0);

您可以将两个变量的和存储在一个int变量中。当您单击第二个按钮时,立即显示Intent并调用startactivity。

答案 1 :(得分:0)

您要创建一个Intent只是为了设置要传递给第二个活动的变量,但是在您的代码中,该Intent没有链接到新的Activity。 如果要使用此方法在两个活动之间传递一个值,则必须使用赋予附加值的Intent开始第二个活动。

Intent intent=new Intent(MainActivity.this,SecondActivity.class);
intent.putExtra("rez",rez);
startActivity(intent);

如果要使用另一个Intent开始第二个活动,则必须以其他方式传递值。

答案 2 :(得分:0)

意图意图=新 Intent(MainActivity.this,SecondActivity.class);

intent.putExtra(“ rez”,rez);

startActivity(intent);

在SecondActivity中 Intent intent = getIntent(); 字符串abc = intent.getStringExtra(“ rez”);