我有两个编辑字段“用户名”和“密码”,每次我回复到包含这些字段的页面时,值都不会被删除。我尝试使用以下代码,但没有帮助:
username = (EditText) findViewById(R.id.enterUsername);
password = (EditText) findViewById(R.id.enterPassword);
username.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
username.setText("");
}
});
password.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
password.setText("");
}
});
在返回同一活动时,为了删除EditText字段的先前条目可以做些什么?
答案 0 :(得分:5)
在Activity onResume()中,您可以清除EditText数据。
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
password.setText("");
username.setText("");
}
由于
答案 1 :(得分:2)
为什么要设置setOnClickListener
?只有用户点击这些字段才有用。
而是在onCreate()
中编写以下代码。
因此,当您返回活动时,将重新创建该活动,因此将调用onCreate()
。
username.setText("");
password.setText("");
注意:强>
在使用之前,请确保已通过写入来初始化它们:
username = (EditText) findViewById(R.id.enterUsername);
password = (EditText) findViewById(R.id.enterPassword);
答案 2 :(得分:1)
我认为你应该
password.setText("");
username.setText("");
仅在按下某些确认/提交按钮并且登录成功时才会显示。
即使你从最小化状态恢复你的应用程序,也会调用的onResume
。
当我输入我的用户名,密码和VoiceCall时,这将是对用户体验的打破。我参加/拒绝电话,我很惊讶我必须再次输入所有这些东西???答案 3 :(得分:0)
您需要在登录活动的setText(null)
方法中将onResume
调用到您的EditText