java - 用户注销后,添加到 TextView 中的文本仍保留在那里

标签 java android android-edittext

我有一个应用程序,允许某人创建一个帐户,并在他们的个人资料的第一页上,我将来自另一个 Activity 的一些编辑文本的数据发送到一些 TextView 。现在我需要的是注销后保留的信息(名字、姓氏和年龄)。当用户再次登录时,他应该能够看到其帐户首页上的信息。我怎样才能做到这一点?谢谢。 这是代码:

public class AccountInformationSetter extends AppCompatActivity {
    EditText etFirstName, etLastName, etAge;
    Button btnSave;

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

        etFirstName = (EditText) findViewById(R.id.etFirstName);
        etLastName = (EditText) findViewById(R.id.etLastName);
        etAge = (EditText) findViewById(R.id.etAge);
        btnSave = (Button) findViewById(R.id.btnSaveInfo);

        btnSave.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                final String first = etFirstName.getText().toString();
                final String last = etLastName.getText().toString();
                final String age = etAge.getText().toString();

                Intent intent = new Intent(AccountInformationSetter.this, Profile.class);
                intent.putExtra("firstName", first);
                intent.putExtra("lastName", last);
                intent.putExtra("age", age);
                startActivity(intent);
            }
        });
    }

这是 Activity 第一页的代码:

public class Profile extends AppCompatActivity {
    TextView tv, tvFirstName, tvLastName, tvAge ;
    UserSessionManager session;


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

        Intent in = getIntent();
        String tv1 = in.getExtras().getString("name");
        tv = (TextView) findViewById(R.id.textView);
        tv.setText(tv1);

        Intent intent = getIntent();
        String first = in.getExtras().getString("firstName");
        tvFirstName = (TextView) findViewById(R.id.tvFirstName);
        tvFirstName.setText("First name: " + first);

        Intent intent1 = getIntent();
        String last = in.getExtras().getString("lastName");
        tvLastName = (TextView) findViewById(R.id.tvLastName);
        tvLastName.setText("Last name: "+ last);

        Intent intent2 = getIntent();
        String age = in.getExtras().getString("age");
        tvAge = (TextView) findViewById(R.id.tvAge);
        tvAge.setText("Age: " + age);


    }

最佳答案

使用 SharedPreferences 存储在特定事件上输入的值。然后,当再次登录时,检查共享状态是否存在(如果存在),从 SharedPreferences 检索数据并填充到 editText

关于java - 用户注销后,添加到 TextView 中的文本仍保留在那里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36518615/

相关文章:

java - 我必须在所有 jar 上签名吗?

android - 删除除第一行以外的表行

android - 如何更改 EditText 句柄的颜色?

android - 显示来自 EditText 的字符串

java - ClassCastException Double 到 Float

java - 如何在Java中获取调用者类

Java 推断类型化 HashSet 的类型错误

java - 更改 ListView 中的字体大小 - Android/Eclipse

android - Android中如何获取ImageView的图片名称?

android - 6个字母后自动在EditText中添加字符