2 xiaoyan 12 xiaoyan_12 于 2012.10.11 16:49 提问

重写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
znl_12   2012.10.11 17:42
已采纳

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

<EditText
android:id="@+id/value"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="0"/>
ueryueryuery
ueryueryuery   2012.10.15 17:57

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!