Java 如何使用SharedReferences保存在edittext中输入的文本并在其他活动的TextView中显示它

Java 如何使用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) { /

我正试图保存从一个活动中输入的文本,并将其发送到另一个活动,以便它可以显示在一个起初不可见的文本视图中。所以请帮助我

这是我的第一个xml。 main.xml

这是我的第二项活动

Next.java

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", "");