listview展示数据
每行都有一个文本框EditText
当个EditText获得焦点弹出数字键盘修改里面的数字后,关闭键盘 里面的数字还原到之前的数字
为什么啊
刚加载listview的时候:如下图弹出键盘修改数字后:如下图关闭数字键盘后:如下图晕了,为什么我刚把文本中的1改成3 ,关闭输入法后怎么变成原来的1了啊?

解决方案 »

  1.   


    给textView增加相应的监听事件看看
            mDescriptionTextView.addTextChangedListener(new TextWatcher() {

    public void onTextChanged(CharSequence s, int start, int before, int count) {
    }

    public void beforeTextChanged(CharSequence s, int start, int count,
    int after) {
    }

    public void afterTextChanged(Editable s) {
    mLength = s.length();
    if(s.length() == MAX_DESCRIPTION_SIZE && mDescriptionTextView.isFocused()){
    if(Constants.LOG_ERROR) {
    Log.e(TAG, "Reached MAX_DESCRIPTION_SIZE : " + s.length() );
    }
    Toast.makeText(mActivity,R.string.str_desc_max_toast, Toast.LENGTH_LONG).show();
    }
    }
    });
            mDescriptionTextView.setOnFocusChangeListener(new View.OnFocusChangeListener() {

    public void onFocusChange(View v, boolean hasFocus) {
    if(hasFocus) {
    if(mLength == MAX_DESCRIPTION_SIZE){
    if(Constants.LOG_ERROR) {
    Log.e(TAG, "Reached MAX_DESCRIPTION_SIZE : " + mLength);
    }
    Toast.makeText(mActivity,R.string.str_desc_max_toast, Toast.LENGTH_LONG).show();
    }
    }

    }
    });
      

  2.   

    这个MAX_DESCRIPTION_SIZE  定义多少 0?
      

  3.   

    由于你将listview和adapter绑定在了一起,可能需要更新一下