我有以下问题:
我编写了一个包含2个活动的Android应用程序。第一个Activity
是主要活动,第二个是设置。
在Activity
设置中,您可以使用EditText
框输入您的姓名,该名称应在第一个Activity
中显示为问候语。
我怎么能以一种非常简单的方式做到这一点?
答案 0 :(得分:1)
您想要使用SharedPreferences
吗?这是您从设置活动中保存数据的方式。在您引入名称后添加一个按钮以保存您的首选项,并将此代码放在Click listener上:
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
Editor editor = sharedPreferences.edit();
editor.putString("NAME", yourEditText.getText().toString());
editor.commit();
然后在您的主要活动中,添加一个按钮和一个textview来显示名称。将以下代码添加到按钮:
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
String name = sharedPreferences.getString("NAME", null);
yourTextView.setText(name); //Add the name to your textview
希望它有所帮助!!
答案 1 :(得分:1)
你有两种方法。
首先:onActivityResult
在主要活动中:
使用startActivityForResult(intent, ACTIVITY2)
并添加此方法
@Override
protected void onActivityResult (int requestCode, int resultCode, Intent intent)
{
if (resultCode == Activity.RESULT_OK)
{
String string_1 = intent.getStringExtra ("my_value_from_second_activity", "");
}
}
在“设置活动:
”中Intent intent = new Intent ();
intent.putExtra ("my_value_from_second_activity", "hello");
activity.setResult (Activity.RESULT_OK, intent);
第二名:SharedPreferences,好方法
设置活动:
SharedPreferences settings = getSharedPreferences("config", 0);
SharedPreferences.Editor editor = settings.edit();
editor.putInt("my_value", edttext.getText().toString());
editor.commit();
主要活动:
SharedPreferences settings = getSharedPreferences("config", 0);
String value = settings.getString("my_value", "");
答案 2 :(得分:1)
您可以通过意图将数据从一个活动传递到另一个活动 您还可以使用带有静态变量的常量类来存储值 并共享prefrenct存储数据,直到apk是安装程序,所以你可以使用一个