Java 如何使用SharedReferences保存在edittext中输入的文本并在其他活动的TextView中显示它
我正试图保存从一个活动中输入的文本,并将其发送到另一个活动,以便它可以显示在一个起初不可见的文本视图中。所以请帮助我 这是我的第一个xml。 main.xml 这是我的第二项活动 Next.javaJava 如何使用SharedReferences保存在edittext中输入的文本并在其他活动的TextView中显示它,java,android,Java,Android,我正试图保存从一个活动中输入的文本,并将其发送到另一个活动,以便它可以显示在一个起初不可见的文本视图中。所以请帮助我 这是我的第一个xml。 main.xml 这是我的第二项活动 Next.java public class Next extends Activity { MainActivity ma; private TextView mtext_one; @Override protected void onCreate(Bundle savedInstanceState) { /
public class Next extends Activity {
MainActivity ma;
private TextView mtext_one;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.next);
mtext_one=(TextView)findViewById(R.id.textView1);
ma=new MainActivity();
ma.savedData=getPreferences(MODE_PRIVATE);
mtext_one.setVisibility(CONTEXT_INCLUDE_CODE);
mtext_one.setText(ma.savedData.getString("10", ""));
}
}
保存首选项并移动到其他活动后,我无法在Next.java中显示文本。。帮帮我…mtext\u one.setText(ma.savedData.getString(“10”,下同)”)代码>
输入您用来保存优先顺序的键。
因此,它将是mtext_one.setText(ma.savedData.getString(key,”)代码>最好使用意图附加,而不是共享引用
下面是使用intent extras的示例
在您的第一个活动(A)中:
Intent i = new Intent(A.this, B.class);
i.putExtra("someName", variableThatYouNeedToPass);
startActivity(i);
Bundle extras = getIntent().getExtras();
int fetchedVariable = extras.getInt("someName");
在第二个活动(B)中:
Intent i = new Intent(A.this, B.class);
i.putExtra("someName", variableThatYouNeedToPass);
startActivity(i);
Bundle extras = getIntent().getExtras();
int fetchedVariable = extras.getInt("someName");
像这样打开SharedReference
:
SharedReferences应用程序\u首选项=
PreferenceManager.GetDefaultSharedReferences(此文件)代码>
这将获得应用程序的默认共享首选项。用于将输入的文本放入SharedPreferences中的EditText
SharedPreferences spppp = getSharedPreferences("tab", 0);
SharedPreferences.Editor editors = spppp.edit();
editors.putString("for", "you_value");
editors.commit();
用于获取其他活动的价值
SharedPreferences spppp = getSharedPreferences("tab", 0);
String get_value = spppp.getString("for" , "");
Cheers在MainActivity.java中,通过如下意图将值传递给第二个活动:
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
s1=medit_currency.getText().toString();
savePreference(s1,s1);
Intent i=new Intent(MainActivity.this,Next.class);
// add below line
intent.putExtra("s1", s1);
startActivity(i);
}
在Next.java的onCreate中,您可以使用:
Bundle bundle = getIntent().getExtras();
String s1 = bundle.getString("s1");
使用这个:
SharedPreferences sp = getSharedPreferences("Key", Activity.MODE_PRIVATE);
SharedPreferences.Editor edt = sp.edit();
edt.putString("Name", "your Edit Text Value");
edt.commit();
在新活动中检索:
SharedPreferences sp = getSharedPreferences("Key", Activity.MODE_PRIVATE);
String name = sp.getString("Name", "");
使用意图额外而不是共享首选项引用此使用此链接。
SharedPreferences sp = getSharedPreferences("Key", Activity.MODE_PRIVATE);
String name = sp.getString("Name", "");