[英]UI with two EditTexts - When one loses focus, how can I capture any text that was changed?
我的UI有兩個EditText字段。 當用戶選擇這些EditText中的一個,然后輸入一些數據,然后單擊第二個EditText時,第一個EditText中的信息就會丟失,它會還原為該字段中的原始內容。
例:
EditText 1 =“你好”
EditText 2 =“世界”
用戶點擊第一個EditText,並將文本更改為“ Hello”,然后按Enter:正常行為。 文本已保存。
用戶點擊第一個EditText,將文本更改為“ Hello”,然后點擊第二個EditText:錯誤行為。 EditText 1恢復為“ Hello”。
我該如何解決此問題? 兩個EditText使用相同的OnFocusChangeListener
。
@Override
public void onFocusChange(View v, boolean hasFocus) {
String s = ((EditText) v).getText().toString().trim();
s = s.replaceAll(",", ".");
if (hasFocus) {
System.out.println(s);
//stuff
} else {
System.out.println(s);
//other stuff
}
我發現我可以得到在else
塊中丟失的文本。 我可以使用它來設置EditText的文本。 但是,我遇到了一個新問題-如果添加單選按鈕,則當用戶從更改EditText變為單擊單選按鈕時,我不會在else
塊中看到丟失的文本。 取而代之的是,我從else
塊中看到了原始文本。
最簡單的解決方案是使用兩個單獨的OnFocusChangeListener
類。 這是使用匿名內部類的好情況。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.