如何将响应发送到新活动?

时间:2018-05-26 11:36:44

标签: android json android-intent android-activity response

我想将API响应传递给另一个活动。我正在使用intent但在下一个活动中变为null。 我的代码是MainPage.java

 public void onResponse(String response) {

                System.out.println("output -- "+response);
                members = response;
                Intent intn = new Intent(MainPage.this,Calculation.class);
                intn.putExtra("MEMBERS",members);

            }

我得到了正确的答复。

Calculation.java

Intent intn = new Intent();
        members = intn.getStringExtra("MEMBERS");
        System.out.println("dmkmdk"+members);
        //no_of_members = Integer.parseInt(members);

我也想以整数形式解析它。

3 个答案:

答案 0 :(得分:0)

你应该得到这样的额外内容,不要发起意图对象

Bundle extras = getIntent().getExtras();
String value1 = extras.getString("MEMBERS");

答案 1 :(得分:0)

尝试在SharedPreference中保存数据,而不是Intent。

SharedPreferences pref = 
getApplicationContext().getSharedPreferences("MyPref", 0); // 0 - for private mode
Editor editor = pref.edit();

用于存储数据: -

editor.putString("MEMBERS",members);
editor.apply();

用于检索数据: -

editor.getString("MEMBERS", null); // getting String

答案 2 :(得分:0)

请试试这个

在下一个活动中传输数据

public void onResponse(String response) {

                    System.out.println("output -- "+response);
                    members = response;
                    Intent intn = new Intent(MainPage.this,Calculation.class);
                    intn.putExtra("MEMBERS",members);
    startActivity(intn)

                }

在您想要获取数据的新活动中尝试此行

String resFromLast = getIntent().getExtras().getString("MEMBERS");
Log.e("Response From last activity is :" ,resFromLast);

会员是您在最后一次活动中传递的密钥。

希望它有效。