-1
我將setOnKeyListener添加到我的Edittext中進行格式化。Edittext setOnKeyListener working
EditText = ₹ 45,000
鍵之前刪除pressed.I想每個刪除按鍵事件,直到第一個數字(即「4」)。在第一個數字刪除也應該刪除刪除單個數字「₹」從EditText上使其空白我寫下面的代碼,但我必須手動刪除upto₹。
日誌文件:
10-02 18:01:08.360 4731-4731/loginscreen.example.com.girviapp D/Before Replace =﹕ ₹ 45,000
10-02 18:01:08.361 4731-4731/loginscreen.example.com.girviapp D/After Replace =﹕ 45000
10-02 18:01:08.361 4731-4731/loginscreen.example.com.girviapp D/Length =﹕ 5
10-02 18:01:08.488 4731-4731/loginscreen.example.com.girviapp D/Before Replace =﹕ ₹ 45,00
10-02 18:01:08.488 4731-4731/loginscreen.example.com.girviapp D/After Replace =﹕ 4500
10-02 18:01:08.488 4731-4731/loginscreen.example.com.girviapp D/Length =﹕ 4
10-02 18:01:25.297 4731-4731/loginscreen.example.com.girviapp D/Before Replace =﹕ ₹ 4,500
10-02 18:01:25.297 4731-4731/loginscreen.example.com.girviapp D/After Replace =﹕ 4500
10-02 18:01:25.297 4731-4731/loginscreen.example.com.girviapp D/Length =﹕ 4
10-02 18:01:25.472 4731-4731/loginscreen.example.com.girviapp D/Before Replace =﹕ ₹ 4,50
10-02 18:01:25.472 4731-4731/loginscreen.example.com.girviapp D/After Replace =﹕ 450
10-02 18:01:25.472 4731-4731/loginscreen.example.com.girviapp D/Length =﹕ 3
10-02 18:01:27.783 4731-4731/loginscreen.example.com.girviapp D/Before Replace =﹕ ₹ 450
10-02 18:01:27.783 4731-4731/loginscreen.example.com.girviapp D/After Replace =﹕ 450
10-02 18:01:27.783 4731-4731/loginscreen.example.com.girviapp D/Length =﹕ 3
10-02 18:01:28.017 4731-4731/loginscreen.example.com.girviapp D/Before Replace =﹕ ₹ 45
10-02 18:01:28.017 4731-4731/loginscreen.example.com.girviapp D/After Replace =﹕ 45
10-02 18:01:28.017 4731-4731/loginscreen.example.com.girviapp D/Length =﹕ 2
10-02 18:01:41.177 4731-4731/loginscreen.example.com.girviapp D/Before Replace =﹕ ₹ 45
10-02 18:01:41.177 4731-4731/loginscreen.example.com.girviapp D/After Replace =﹕ 45
10-02 18:01:41.177 4731-4731/loginscreen.example.com.girviapp D/Length =﹕ 2
10-02 18:01:41.392 4731-4731/loginscreen.example.com.girviapp D/Before Replace =﹕ ₹ 4
10-02 18:01:41.392 4731-4731/loginscreen.example.com.girviapp D/After Replace =﹕ 4
10-02 18:01:41.392 4731-4731/loginscreen.example.com.girviapp D/Length =﹕ 1
10-02 18:01:56.121 4731-4731/loginscreen.example.com.girviapp D/Before Replace =﹕ ₹ 4
10-02 18:01:56.121 4731-4731/loginscreen.example.com.girviapp D/After Replace =﹕ 4
10-02 18:01:56.121 4731-4731/loginscreen.example.com.girviapp D/Length =﹕ 1
10-02 18:01:56.336 4731-4731/loginscreen.example.com.girviapp D/Before Replace =﹕ ₹
10-02 18:03:04.153 4731-4731/loginscreen.example.com.girviapp D/Before Replace =﹕ ₹
10-02 18:03:04.327 4731-4731/loginscreen.example.com.girviapp D/Before Replace =﹕ ₹
10-02 18:03:04.327 4731-4731/loginscreen.example.com.girviapp D/After Replace =﹕ ₹
10-02 18:03:04.327 4731-4731/loginscreen.example.com.girviapp D/Length =﹕ 1
10-02 18:03:04.616 4731-4731/loginscreen.example.com.girviapp D/Before Replace =﹕ ₹
10-02 18:03:04.616 4731-4731/loginscreen.example.com.girviapp D/After Replace =﹕ ₹
10-02 18:03:04.616 4731-4731/loginscreen.example.com.girviapp D/Length =﹕ 1
代碼:
mAmt.setOnKeyListener(new View.OnKeyListener()
{
@Override
public boolean onKey(View v, int keyCode, KeyEvent event)
{
String tmp = mAmt.getText().toString();
if (keyCode == KeyEvent.KEYCODE_DEL)
{
/* do something */
Log.d("Before Replace = ",tmp);
tmp=tmp.replace("\u20B9 ","");
tmp=tmp.replace(" ","");
if (tmp.length() > 0 )
{
tmp=tmp.replace("\u20B9 ","");
tmp = tmp.replace(",", "");
Log.d("After Replace = ", tmp.replace("\u20B9 ",""));
Log.d("Length = ",String.valueOf(tmp.length()));
NumberFormat formatter = NumberFormat.getCurrencyInstance(new Locale("en", "IN"));
if(tmp.length()>1)
{
DecimalFormat myFormatter = new DecimalFormat("\u20B9 " + "##,##,##,##,###");
mAmt.setText(myFormatter.format(Integer.parseInt(tmp)));
mAmt.setSelection(tmp.length());
}
}
}
mAmt.setSelection(mAmt.getText().length());
return false;
}
});
在'edittext' – Tauqir
但在代碼 –
檢查'mAmt.getText().length()== 3'。返回之前'mAmt.setText(null)'。 – Tauqir