如何将字符串变量从第一个活动发送到第四个活动?
我的第一个活动中有2个字符串变量,我想将它们传递给第四个活动。如果我使用这种语法,我将如何获取数据?
Public class FirstActivity extends AppCompatActivity {
public static String first_string ;
public static String last_string ;
有更好的方法吗?
答案 0 :(得分:1)
有两种方法可以做到这一点
1)使用Intent
方法。
在第一项活动中 intent.putExtra(" firststring",firststring);
在第四项活动中
String first = getIntent().getExtras().getString("firststring");
第二次第三次活动中的类似过程。
2)使用共享偏好方法
在第一项活动中
public static final String MyPREFERENCES = "MyPrefs";
SharedPreferences sharedpreferences;
sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedpreferences.edit(); editor.putString("firststring", firststring);
在第四项活动中
public static final String MyPREFERENCES = "MyPrefs";
SharedPreferences sharedpreferences;
sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);
String firststing = sharedpreferences.getString("firststring", "firststring");
答案 1 :(得分:0)
目前您可以通过以下方式从 FourthActivity 访问它们:
String first_string_new = FirstActivity.first_string;
但是 ,我建议您避免使用静态值,并将其作为额外内容使用Intent传递。
来自 FirstActivity :
intent.putExtra("FIRST_STRING", first_string);
intent.putExtra("SECOND_STRING", last_string);
startActivity(intent);
接收 FourthActivity :
中的字符串Bundle extras = getIntent().getExtras();
String first_string_new = extras.getString("FIRST_STRING");
String second_string_new = extras.getString("SECOND_STRING");
检查this question以查看在意图中使用额外内容的另一个示例。