如何将用户输入从EditText保存到要在其他Activity上使用的变量

时间:2015-06-27 15:49:44

标签: java android xml

我在Android Studio中有一个编辑文本,我希望用户输入一个名称,然后可以将其存储为变量。然后,我想将此变量添加到主要活动中的textview中。

现在所有人都有一个空白活动,其中包含编辑文本和按钮,可将用户输入保存为变量。

修改

好的,我要改变我的做法。在我的主要活动中,我有两个文本视图。如果我将它们更改为编辑文本,那么如何在没有保存按钮的情况下将它们保存在主活动中,以便用户输入的内容仍然存在?

2 个答案:

答案 0 :(得分:2)

将其保存在Shared Preferences中,然后从其他活动中检索它。

要在共享首选项中保存字符串,您可以创建如下方法:

public static void setUsername(Context context, String username) {
    SharedPreferences prefs = context.getSharedPreferences("myAppPackage", 0);
    SharedPreferences.Editor editor = prefs.edit();
    editor.putString("username", username);
    editor.commit();
 }

要进行检索:

public static String getUsername(Context context) {
    SharedPreferences prefs = context.getSharedPreferences("myAppPackage", 0);
    return prefs.getString("username", "");

 }

<强>编辑:
在包含EditText的活动中,您可以按如下方式调用该方法:
setUsername(this,myEditText.getText()。toString());

在包含TextView的Activitiy中:
myTextView.setText(getUsername(this));

答案 1 :(得分:0)

你ça使用edit.getText().toString() tout获取用户输入。

要启动新活动并将字符串传递给它,请使用

Intent intent = new Intent(this, OtherActivity.class);
intent.putExtra("key", theString);
startActivity(intent);

修改

为了更容易,您应该在布局中添加一个按钮,这样当用户按下该按钮时,您可以使用字符串启动下一个活动。 这应该进入你的活动

public class BlankActivity implements OnClickListener {

     private EditText mEditText;

     @Override
     protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.your_layout);

          //find editText
          mEditText = (EditText) findViewById(R.id.your_edit_text_id);
          //listen button
          findViewById(R.id.your_button_id).setOnClickListener(this);

     }

     @Override
     public void onClick(View v) {
          String theString = mEditText.getText().toString();
          Intent intent = new Intent(this, OtherActivity.class);
          intent.putExtra("key", theString);
          startActivity(intent);
     }


}