【问题标题】:How can I save the Values in edittext boxes如何将值保存在编辑文本框中
【发布时间】:2019-08-12 13:10:13
【问题描述】:

我有一个应用程序,您可以将图像上传到服务器。我的问题是用户在编辑文本框中输入他们的电子邮件密码和客户端 ID,然后将它们用于 URL 构建。 我想保存输入到编辑文本框中的信息,这样用户就不必每次都重新输入。
Oly 回答说我可以在 SO 上找到将值保存到 textView ETC。我希望将值保存在编辑文本框中

调用文本框并将其传递给另一个活动的代码

public class LoginActivity extends AppCompatActivity {

    private EditText email, password, id;

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

        email=findViewById(R.id.emailtext);
        password=findViewById(R.id.pwdtext);
        id=findViewById(R.id.clientid);
        Button loginBtn=findViewById(R.id.button);

        loginBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String emailAddress=email.getText().toString().trim();
                String userPassword=password.getText().toString().trim();
                String clientId=id.getText().toString().trim();
                Intent intent=new Intent(LoginActivity.this, 
    CameraActivity.class);
                intent.putExtra("clientId", clientId);
                intent.putExtra("email", emailAddress);
                intent.putExtra("password", userPassword);
                startActivity(intent);
            }
        });
    }
}

【问题讨论】:

  • 使用单例类'
  • @AbhinavGupta 对不起,我讨厌成为这样的人,我只开发了大约两周的 android 和一般编码,我不明白你的意思请详细说明

标签: android android-studio android-edittext save


【解决方案1】:

您可以使用 SharedPreferences:

public class LoginActivity extends AppCompatActivity {
    private static final String ID = "id";
    private static final String EMAIL = "email";
    private static final String PASS = "pass";
    private SharedPreferences mPreference;
    private EditText email, password, id;

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

        email=findViewById(R.id.emailtext);
        password=findViewById(R.id.pwdtext);
        id=findViewById(R.id.clientid);
        Button loginBtn=findViewById(R.id.button);

        mPreference = PreferenceManager.getDefaultSharedPreferences(this);

        id.setText(mPreference.getString(ID, ""));
        email.setText(mPreference.getString(EMAIL, ""));
        password.setText(mPreference.getString(PASS, ""));

        loginBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String emailAddress=email.getText().toString().trim();
                String userPassword=password.getText().toString().trim();
                String clientId=id.getText().toString().trim();

                mPreference.edit().putString(ID, clientId).apply();
                mPreference.edit().putString(EMAIL, emailAddress).apply();
                mPreference.edit().putString(PASS, userPassword).apply();

                Intent intent=new Intent(LoginActivity.this, 
    CameraActivity.class);
                intent.putExtra("clientId", clientId);
                intent.putExtra("email", emailAddress);
                intent.putExtra("password", userPassword);
                startActivity(intent);
            }
        });
    }
}

【讨论】:

    【解决方案2】:

    您希望在什么时间填充这些值??

    当用户返回相同的活动或用户终止活动并重新打开您的应用时??

    请告诉

    【讨论】:

    • 感谢您,尽力帮助,问题已得到解答
    • 不用担心,sharedpreference 是 android 中的一种会话范围。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-10
    相关资源
    最近更新 更多