xiaoyan_12
2012-10-11 08:49
采纳率: 84.9%
浏览 11.7k

重写edittext中的默认值

程序中的edittext只接受数字。默认设置为0。我想输入数字后覆盖初始值0。现在问题是,比如当我输入数字1,出现的是01,我希望edittext中显示1而不是01。代码如下:

value = (EditText)findViewById(R.id.value);
    value.addTextChangedListener(new TextWatcher() {
        public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) 
        {   
            if(arg0.length()==0)
            {
                value.setText("0");
                int i = value.getText().length();
                value.setSelection(i);
            }
        }

        public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
                int arg3) {

                        }

        public void afterTextChanged(Editable arg0) {

        }
    }

请求大家的帮忙,看问题出在哪里?

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • znl_12 2012-10-11 09:42
    已采纳

    你可以在xml文件中设置 android:hint。
    例如,

    <EditText
    android:id="@+id/value"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:hint="0"/>
    
    打赏 评论
  • 李狗蛋52635 2012-10-15 09:57

    在onTextChanged()方法里,继续作处理吧,如果CharSequence以0开头 && 只有2位,就把0去掉。

    打赏 评论

相关推荐 更多相似问题