有你Activity
實現OnFocusChangeListener()
如果你想要一個因式分解使用此接口, 例如:
public class Shops extends AppCompatActivity implements View.OnFocusChangeListener{
在你OnCreate
您可以添加一個監聽器,例如:
editTextReaserch.setOnFocusChangeListener(this);
editTextMyWords.setOnFocusChangeListener(this);
editTextPhone.setOnFocusChangeListener(this);
那麼android studio會提示你從界面添加方法,接受它... 我T將像:
@Override
public void onFocusChange(View v, boolean hasFocus) {
// todo your code here...
}
,當你已經有了一個因式分解的代碼,你只需要做到這一點:
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
editTextReaserch.setText("");
editTextMyWords.setText("");
editTextPhone.setText("");
}
if (!hasFocus){
editTextReaserch.setText("BlaBlaBla");
editTextMyWords.setText(" One Two Tree!");
editTextPhone.setText("\"your phone here:\"");
}
}
任何你在!hasFocus
代碼是的行爲失去重點的項目,應該做的伎倆!但要注意,在這種狀態下,重點的改變可能會覆蓋用戶的輸入!
+1 - 但值得注意的是,如果你的編輯文本是在ListView,每個按鍵下會導致失去盒並獲得焦點。看到這個解決方案來跟蹤當前集中的框:http://stackoverflow.com/questions/9527067/android-edittext-in-listview-loses-focus-on-calling-notifydatachanged – bsautner
41 upvotes for a answer that basic says 「閱讀'hasFocus'值」。事實是,這很難讓editText失去焦點,並且還有大量未解決的問題。 –
我在哪裏添加您顯示的代碼?如果我把它放在「onCreate」中,應用程序崩潰 – Jona