сбой приложения edittext - PullRequest
       1

сбой приложения edittext

1 голос
/ 29 декабря 2011

У меня есть 1 текст редактирования только с вводом числа. Проблема в том, что, если пользователь хочет изменить его, предположим, что пользователь вводит 1234 no и afterwrds, и для этого, когда он нажмет кнопку Del TAT TIME WEN, когда он перейдет в 2 и нажмет один больше времени, ключ сбой, приложение вылетает. и я попытался обработать, если длина текста редактирования текста 0 также, но все еще не работает вот мой код

 input.addTextChangedListener(new TextWatcher() {            
        public void onTextChanged(CharSequence s, int start, 
                                 int before, int count) 
        {
            final String in= input.getText().toString();//input is edittext
            final int j=in.length(); 
            Cursor ansof1=(Cursor) mSpinner.getSelectedItem();//1st spinner tks 1 value
            String temp=ansof1.getString(1);

            Cursor ansof2=(Cursor)mSpinner2.getSelectedItem();//for 2 spinner
            String temp2=ansof2.getString(1);
            Cursor cn = myDbHelper.selectcur(temp);
             double ans1=cn.getDouble(3);   
            Cursor cm=myDbHelper.selectcur(temp2);
            double ans2=cm.getDouble(3);
            no = Integer.parseInt(in);

        final double finalans=((ans1/ans2)*no);
        NumberFormat formatter = new DecimalFormat("##,##,###");
    if(temp.equalsIgnoreCase(temp2))
        {

            //dlgAlert.setMessage("OOpss..!! Both Currencies Are Same...!!");
            text1.setText(no+" "+temp+" "+"="+" "+no+" "+temp2);

            //dlgAlert.create().show();

        }
        else

        text1.setText(no+" "+temp+" "+"="+" "+formatter.format(finalans)+" "+temp2);


        }

        @Override
        public void afterTextChanged(Editable arg0) 
        {
            // TODO Auto-generated method stub

        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count,
                int after)
        {
            // TODO Auto-generated method stub

        }
    });

1 Ответ

2 голосов
/ 29 декабря 2011

Это потому, что вы пытаетесь преобразовать пустую строку в число. Поэтому проверьте длину строки следующим образом:

input.addTextChangedListener(new TextWatcher() {             
        public void onTextChanged(CharSequence s, int start,  
                                 int before, int count)  
        { 
           if(s.length()==0)
           {
                 return;
           }
           else
           {
                  // your code here
           }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...