我有代码,其中有一个editText框和一个按钮。我想保存在文本框中输入的文本,并在下次打开应用程序时重新调用它。

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;


public class MainActivity extends Activity {

EditText txtLink;
Button btnOpenLink;
String defaultLink;
String secondLink;


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

    defaultLink = "http://";
    secondLink = ".whatver.com";

    txtLink = (EditText) findViewById(R.id.editText);
    btnOpenLink = (Button) findViewById(R.id.button);
    btnOpenLink.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            String server = txtLink.getText().toString();
            if(!TextUtils.isEmpty(server)){
                Intent intent=new Intent(MainActivity.this,webactivity.class);
                intent.setData(Uri.parse(defaultLink+server+secondLink));
                startActivity(intent);
            }else{
                Toast.makeText(MainActivity.this, "Please enter your server name.", Toast.LENGTH_LONG).show();
            }
        }
    });
}

}


如何做到这一点?我已经尝试了很多通过google找到的东西,但似乎都没有找到正确的方法,我知道这是我最有可能做的事情,只是无法使其正常工作。

最佳答案

使用首选项...。



SharedPreferences spref = getSharedPreferences("your_prefs_name", Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = spref.edit();
editor.putString("myTextViewValue", prefVal); //
editor.commit();


当稍后再次启动应用程序时,将其读回:

例:

SharedPreferences preferences = getPreferences(Activity.MODE_PRIVATE);
String storedPreference = preferences.getStr("myTextViewValue", null);


因此,请验证您存储的内容,并检查您获得的首选项是否为空,这意味着之前没有存储任何内容...

10-08 00:23