我开发了一个Android应用程序。 在这里,我必须将第一个活动的值传递给第三个活动。
这个值从成功开发的第1个活动传递到第2个活动。但是我无法将值从第2个活动传递到第3个活动。请帮助我如何开发这些活动。请帮助我。
这是我的第一项活动:
Intent i = new Intent(getApplicationContext(), CustomerLogin.class);
i.putExtra("GrandTotal", mGrandTotal);
startActivity(i);
第二项活动:
Intent in = getIntent();
Bundle b = getIntent().getExtras();
String total = b.getString("GrandTotal");
TextView grandtotal = (TextView) findViewById(R.id.grand_total);
grandtotal.setText("Welcome ," + total );
此处值成功从第1个活动传递到第2个活动。 现在我必须将这些值传递给第三个活动。我能做什么。
现在这是我的第二项活动:
if(isUserValidated && isPasswordValidated)
{
String s= getIntent().getStringExtra(total);
Intent intent = new Intent(CustomerLogin.this,PayPalIntegrationActivity.class);
intent.putExtra("GrandTotal", s);
intent.putExtra("login",username.getText().toString());
startActivity(intent);
}
这是我的第三项活动:
Bundle b = getIntent().getExtras();
String total = b.getString("GrandTotal");
TextView grandtotal = (TextView) findViewById(R.id.check);
grandtotal.setText("Welcome ," + total );
现在我必须运行应用程序意味着我获得了第二个活动的总价值。但是我没有得到第三个活动的总价值。请帮助我。这里我做错了。
答案 0 :(得分:0)
使用简单的静态变量。或者为此目的共享偏好。
答案 1 :(得分:0)
if(isUserValidated && isPasswordValidated)
{
String s= getIntent().getStringExtra(total);// problem is here
....// In second activity
}
更改为String s= getIntent().getStringExtra("GrandTotal");
答案 2 :(得分:0)
Intent i = new Intent(getApplicationContext(), CustomerLogin.class);
i.putExtra("GrandTotal", mGrandTotal);
startActivity(i);
第二项活动:
Bundle b = getIntent().getExtras();
String total = b.getString("GrandTotal");
TextView grandtotal = (TextView) findViewById(R.id.grand_total);
grandtotal.setText("Welcome ," + total );
if(isUserValidated && isPasswordValidated) {
Intent intent = new Intent(CustomerLogin.this,PayPalIntegrationActivity.class);
intent.putExtra("GrandTotal", total);
intent.putExtra("login",username.getText().toString());
startActivity(intent);
}
这是我的第三项活动:
Bundle b = getIntent().getExtras();
String total = b.getString("GrandTotal");
String name = b.getString("login");
TextView grandtotal = (TextView) findViewById(R.id.check);
grandtotal.setText("Welcome ," + total );
答案 3 :(得分:0)
替换
if(isUserValidated && isPasswordValidated)
{
String s= getIntent().getStringExtra(total); // Replace this line
Intent intent = new Intent(CustomerLogin.this,PayPalIntegrationActivity.class);
intent.putExtra("GrandTotal", s);
intent.putExtra("login",username.getText().toString());
startActivity(intent);
}
与
String s= getIntent().getStringExtra("GrandTotal");
答案 4 :(得分:0)
如果您需要传递完全相同的值,可以使用:
Intent intent = new Intent(CustomerLogin.this,PayPalIntegrationActivity.class);
intent.putextras(this.getIntent.getExtras());
答案 5 :(得分:0)
在 thired activity
中尝试此操作修改:
if(getIntent().getStringExtra("GrandTotal")!= null)
{
String total =getIntent().getStringExtra("GrandTotal"); <---------------
TextView grandtotal = (TextView) findViewById(R.id.check);
grandtotal.setText("Welcome ," + total );
}
答案 6 :(得分:0)
对于这个更好的解决方案是在android中使用共享首选项。 将您的价值存储在共享偏好中,并在第3个活动中获取该值并根据您的要求使用它。