我在一个活动中创建了一个字符串,我想让它在另一个活动中可用。我怎么能这样做?
这是字符串:
->toSql()
答案 0 :(得分:2)
有三种方法可以做到这一点
答案 1 :(得分:2)
最常见的互动:
startActivity(new Intent(this, NextActivity.class).putExtra("STRING", yourString));
答案 2 :(得分:0)
在某些Utils类中创建一个静态方法,可以在任何需要的地方返回此字符串
答案 3 :(得分:0)
使用意图将其传递给其他活动(https://developer.android.com/guide/components/intents-filters.html)或将其存储到共享偏好设置(https://developer.android.com/training/basics/data-storage/shared-preferences.html)。
Intent的工作原理如下:
// Write
Intent intent = new Intent(context, Activity.class);
intent.putExtra("EXTRA_PARAMETER", parameterValue);
startActivity(intent);
//Read
String parameter = getIntent().getStringExtra("EXTRA_PARAMETER");
共享偏好的工作原理如下:
// Write
SharedPreferences sharedPref =
getActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putInt(getString(R.string.saved_high_score), newHighScore);
editor.commit();
// Read
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
int defaultValue = getResources().getInteger(R.string.saved_high_score_default);
long highScore = sharedPref.getInt(getString(R.string.saved_high_score), defaultValue);
答案 4 :(得分:0)
您需要将其作为额外内容传递:
String easyPuzzle = "630208010200050089109060030"+
"008006050000187000060500900"+
"09007010681002000502003097";
Intent i = new Intent(this, ToClass.class);
i.putExtra("epuzzle", easyPuzzle);
startActivity(i);
然后从您的新活动中提取它:
Intent intent = getIntent();
String easyPuzzle = intent.getExtras().getString("epuzzle");