如何将值从第1个活动传递到第3个活动

时间:2012-09-05 13:14:35

标签: android android-intent xml-parsing sharedpreferences

我希望将第1个活动的值传递给第3个活动。

我的第一项活动:CustomizedListview

第二项活动是:SingleMenuItemActivity

第三项活动是:InsertionExample

这里我必须将CustomidListView(1st)活动中的orderid值传递给InsertionExample(3rd)活动。

我怎么能通过这个?我已将orderid值从第1个活动传递到第二个活动。但我不能将它从第一活动传递到第三活动。请帮帮我。

7 个答案:

答案 0 :(得分:3)

试试这个

 Intent intent=new Intent(CustomizedListview.this,InsertionExample.class);
 intent.putExtra("orderid",getOrderid);
 startActivity(intent);

在你的第三项活动中

 Bundle bundle = data.getExtras();
 String getOrderId = bundle.getString("orderid");

答案 1 :(得分:1)

  

我必须将orderid值从第一个活动传递到第二个活动

发送至第二项活动时发送。只需将第二个活动的名称更改为第三个活动。

在共享首选项中存储订单ID并在第三个活动中获取。

SharedPrefernce示例

SharedPreferences myPrefs = this.getSharedPreferences("myPrefs", MODE_WORLD_READABLE);
SharedPreferences.Editor prefsEditor = myPrefs.edit();
prefsEditor.putString("order_id", "5");
prefsEditor.commit();

获取共享偏好。

 SharedPreferences myPrefs = this.getSharedPreferences("myPrefs", MODE_WORLD_READABLE);
 String prefName = myPrefs.getString("order_id", "0");

答案 2 :(得分:1)

您可以通过两种方式传递值:

  1. 您可以创建一个全局类并在该类中设置值 访问第3个活动中的该课程
  2. 您可以使用Intent将值从第1个活动发送到第2个活动

  3. Intent intent = new Intent (this, 2ndActivity.class); 
        intent.putExtra ("Value",Value);
        startActivity(intent);
    

    您可以为第3次活动的第2次活动做同样的事情

    Bundle extras = getIntent().getExtras();
        if(extras!=null){
        Values=extras.getString("value");
        }
    

答案 3 :(得分:1)

你可以使用第一个活动的额外意图到第二个活动,然后将另一个意图中的相同值从secon传递给第三个。

答案 4 :(得分:0)

将值设为静态,然后在第3个活动中使用

public static int i;

然后,在第3次活动中调用它:

firstActivity.i;

答案 5 :(得分:0)

使用SharedPreferences(对于小数据)来存储数据并将此数据提供给您3活动    否则使用内部存储或数据库(对于大数据)

答案 6 :(得分:0)

Employee e = new Employee();
e.setOfficial(new Official());
e.setPersonal(new Personal());
e.getOfficial().setSalary(new Salary());

ObjectMapper mapper = new ObjectMapper();
setValueAt(e, "id", "123");
// {"id":"123","personal":{},"official":{"active":false,"salary":{"hourly":0.0,"monthly":0.0,"yearly":0.0}}}

setValueAt(e, "personal.address", "123 Main Street");
// {"id":"123","personal":{"address":"123 Main Street"},"official":{"active":false,"salary":{"hourly":0.0,"monthly":0.0,"yearly":0.0}}}

setValueAt(e, "official.salary.hourly", "100");
// {"id":"123","personal":{"address":"123 Main Street"},"official":{"active":false,"salary":{"hourly":100.0,"monthly":0.0,"yearly":0.0}}}