2012-06-14 56 views
1

我有兩個編輯字段「用戶名」和「密碼」,每次我恢復到包含這些字段的頁面時,值都不會被刪除。我試着用下面的代碼,但沒有幫助:如何在還原到同一活動時清除EditText字段?

  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字段的以前的條目來完成?

回答

5

在你活動的onResume()你這樣做是爲了清除的EditText數據。

protected void onResume() { 
     // TODO Auto-generated method stub 
     super.onResume(); 
     password.setText(""); 
     username.setText(""); 

    } 

感謝

+0

非常感謝!有效..!!! – Chetna

+2

文本也將在循環中清除。 – Antiohia

2

你爲什麼要設置setOnClickListeneronResume方法來調用setText(null)您的EditText?
這將是唯一的用戶是點擊這些字段。

請在您的onCreate()中輸入以下代碼。
因此,當您返回活動時,該活動將被重新創建,因此將調用onCreate()

username.setText(""); 
password.setText(""); 

注:
確保您已通過書面形式使用前初始化它們:

 username = (EditText) findViewById(R.id.enterUsername); 
     password = (EditText) findViewById(R.id.enterPassword); 
+0

我嘗試使用上述。價值依然沒有被抹去! – Chetna

+0

事實上,當我寫這onResume()這個工程裏面! – Chetna

+0

好吧,歡呼聲... – GAMA

1

我想你應該

password.setText(""); 
username.setText(""); 

只有當一些確認/提交按鈕被按下,登錄成功。

的onResume

是當u從最小化狀態恢復您的應用程序甚至調用。

當假設我輸入我的用戶名,pwd和一個VoiceCall來時,這將是對用戶體驗的一次破壞。我參加/拒絕電話,我很驚訝,我必須再次輸入所有這些東西?

相關問題