如何将值保存在edittext框中

时间:2019-08-12 13:10:13

标签: android android-studio android-edittext save

我有一个应用程序,您可以在其中将图像上传到服务器。我的问题是用户在edittext框中输入其电子邮件密码和客户端ID,然后将其用于URL构建。 我想保存输入到edittext框中的信息,以便用户不必每次都重新输入它。
奥利回答说,我可以在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);
            }
        });
    }
}

2 个答案:

答案 0 :(得分:3)

您可以使用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);
            }
        });
    }
}

答案 1 :(得分:1)

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

当用户返回同一活动或当用户取消活动并重新打开您的应用程序时?

请告诉