2014-04-09 85 views
0

我有一个EditText,其中EditText获取焦点,它改变EditText的功能,当我失去对EditText的焦点时,它将再次改变函数。事件聚焦于EditText

这是我的源代码:

​​

}

对于喜欢当我点击的EditText首次结果,EditText上没有做的事情。当我输入“1000”时,我失去了焦点,edittext更改为“1.000”。但是当我再次点击edittext时,它又变成了“1000”。请帮助我,如果我的语法不好,很抱歉。

回答

0

布尔标志=真;

tambah = (EditText)rootView.findViewById(R.id.about_header); 
      tambah.setOnFocusChangeListener(new OnFocusChangeListener() { 

       public void onFocusChange(View v, boolean hasFocus) { 
        flag = !flag; 
        if(v == tambah && flag) { 
         //format your text to 1000 here 
        } 
        else if(v == tambah && !flag) { 
         //format your text to 1.000 here 
        } 
       } 
      }); 

编辑: 如果你需要一个简单的格式,你可以使用十进制格式。

double d = 1.000; 
DecimalFormat df1 = new DecimalFormat("#.###"); 
DecimalFormat df2 = new DecimalFormat("####"); 
String newD1 = df1.format(d); // 1.000 
String newD2 = df2.format(d); // 1000 
+0

当我输入edittext两次,我仍然得到一个“1.000”。我想如果edittext有一个“1.000”,我再次点击它,它又变成了“1000”。我怎么得到它? – user3505775

+0

是的,我的自动生成的变量名称可能会不同,很高兴你想出了它:) –

+0

啊..所以它不关注焦点。但是当你第二次点击editText时,你仍然会关注editText。如果你想按照你现在告诉我的方式去做,你需要用一面旗子来控制它。 –