2013-03-27 82 views
0

我有一个编辑文本,当我在此处输入内容并轻敲外部时,如果输入的值不为空,则焦点和软键盘应隐藏并更改按钮的可见性。如果我再次输入并更改编辑文本0的值并点击,则该按钮应该再次变为不可见。 PFA我在做什么:丢失焦点退出编辑文本并保存状态

public void onFocusChange(View v, boolean hasFocus) { 
    String s = enter_num.getText().toString(); 
    if(!(s.equals(""))){ 
     enter_num.setFocusable(isFinishing()); 
     InputMethodManager imm = (InputMethodManager).getContext().getSystemService(Context.INPUT_METHOD_SERVICE); 
     imm.hideSoftInputFromWindow(v.getWindowToken(), 0);       
     ans_status2.setVisibility(View.VISIBLE);                 
    } 
} 

这不是失去焦点。这是开始的正确方法吗?

回答

0

试试这个为:

public void onFocusChange(View v, boolean hasFocus) { 
    String s = enter_num.getText().toString().concat(""); 
    int length = s.length(); 
    if(length <= 0){     
    } else { 
     if(s.equals("0")){ 
      enter_num.setFocusable(isFinishing()); 
      InputMethodManager imm = (InputMethodManager).getContext().getSystemService(Context.INPUT_METHOD_SERVICE); 
      imm.hideSoftInputFromWindow(v.getWindowToken(), 0);       
      ans_status2.setVisibility(View.VISIBLE);                 
     } 
    } 
} 

希望这会帮助你。

+0

我认为它应该是长度!= 0,但这不是问题,在单击编辑文本以外的任何位置时,我都希望键盘和编辑文本的焦点去,这不会发生onfocuschange! – bharath 2013-03-27 12:45:45