我在Android Studio中有一个编辑文本,我希望用户输入一个名称,然后可以将其存储为变量。然后,我想将此变量添加到主要活动中的textview中。
现在所有人都有一个空白活动,其中包含编辑文本和按钮,可将用户输入保存为变量。
修改
好的,我要改变我的做法。在我的主要活动中,我有两个文本视图。如果我将它们更改为编辑文本,那么如何在没有保存按钮的情况下将它们保存在主活动中,以便用户输入的内容仍然存在?
答案 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);
}
}