在android中edittext的值修改的同时,点击隐藏键盘为什么界面不刷新!!!??

解决方案 »

  1.   

    因为键盘显示的时候,并没有角发Activity的onpause或者onstoP方法。
      

  2.   

    我在一个framelayout中添加一个listview,在listview中的item中加入一个edittext,修改edittext的值后为什么edittext的界面没有刷新
     比如目前展示的效果是:输入一个数 1 ,点击隐藏键盘是应该是1.0 但是界面一直是1不变,图片在附件中(有键盘的是输入的时候的效果,没有键盘的是隐藏键盘的后的效果)
     
    请哪位知道,告诉一声谢谢!!!!!!!!
    holder.scoreEditText.addTextChangedListener(new TextWatcher()
     //            {
     //                
    //                @Override
     //                public void onTextChanged(CharSequence s, int start, int before, int count)
     //                {
     //                    // TODO Auto-generated method stub
     //                    String score = s.toString();
     //                    changeScore(score, position, fullScore.get(position));
     //                    
     //                }
     //                
    //                @Override
     //                public void beforeTextChanged(CharSequence s, int start, int count, int after)
     //                {
     //                    // TODO Auto-generated method stub
     //                    
     //                }
     //                
    //                @Override
     //                public void afterTextChanged(Editable s)
     //                {
     //                    // TODO Auto-generated method stub
     //                    mPaperResultTitle.setScore(addAllScore());
     //                }
     //            });
     
    private void changeScore(String score, int position, float fullScore)
             {
                 // 判断是否为空
                 if (score != null && !"".equals(score))
                 {
                     // 判断是否小于最大值
                     if (Float.valueOf(score) <= fullScore)
                     {
                         // 判断是否有小数点
                         if (score.indexOf(".") == -1)
                         {
                             getScore.set(position, Float.parseFloat(score));
                         }
                         else if (score.indexOf(".") == score.lastIndexOf("."))
                         
                         {
                             if (score.indexOf(".") == 0)
                             {
                                 getScore.set(position, Float.parseFloat("" + 0));
                             }
                             else
                             {
                                 getScore.set(position, Float.parseFloat(score));
                             }
                         }
                         else
                         {
                             GeniuskyLog.makeText(mContext, "输入无效", 100);
                             getScore.set(position, Float.parseFloat(score.substring(0, score.lastIndexOf(".") - 1)));
                         }
                     }
                     else
                     {
                         getScore.set(position,Float.valueOf(0+""));
                         GeniuskyLog.makeText(mContext, "你输入的分数超过该题的满分,请重新输入", 100);
                     }
                     
                }
                 else
                 {
                     getScore.set(position, Float.parseFloat(0 + ""));
                 }
             }