如何从EditText中删除文本但EditText可编辑为false

时间:2016-01-19 06:56:39

标签: android android-edittext

我的要求是用户无法在25个字符后添加var a=[]; var chatid=[]; $.ajax({ type:"post", url:"<?php echo base_url()?>index.php/systemchat/record", dataType:"JSON", success:function(data) { alert(chatid); for(i=0;i<data.length;i++) { if($.inArray(data[i].user_chatid,chatid) =='-1') { var xyz=data[i].user_chatid; a+='<span>'+data[i].msg+'</span></br>'; } //ab.push(xyz); chatid+=xyz; } $("#systxtarea").append(a); } 中的文字,但可以删除EditText中的字符。

这是我的代码:

EditText

5 个答案:

答案 0 :(得分:3)

如果您想将EditText中的字符数限制为25:

InputFilter[] FilterArray = new InputFilter[1];
FilterArray[0] = new InputFilter.LengthFilter(25);
groupName.setFilters(FilterArray);

希望它有所帮助。

答案 1 :(得分:0)

使用 substring()方法

String numChar= EditText.getText().toString();
if (numChar.length() > 24) {
numChar= str.substring ( 0, numChar.length() - 1 );// here am delete one last letter
EditText.setText ( numChar);
}

答案 2 :(得分:0)

为什么不指定edittext接受的最大字符数只有25,

这将减少不必要的编码的喧嚣。

如果我理解你的问题,那将会容易得多。 android:maxLength="25"

            <EditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:lineSpacingMultiplier="1"
                android:maxLength="25"
                android:maxLines="1" />

让我们说EditText中的文本发生了变化,换句话说你不确定editText的最大长度是多少,你可以使用下面的代码。请检查此setFilters

    editText = (EditText)findViewById(R.id.TestLayoutActivity_editText);
    InputFilter[] inputFilter = {new InputFilter.LengthFilter(editText.getText().toString().length())};
    editText.setFilters(inputFilter);

答案 3 :(得分:0)

试试这个

 groupName.addTextChangedListener(new TextWatcher() {

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

            }

            @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
                if (groupName.getText().toString().length() >= 24) {
                    groupName.setError("Max 24 characters");
                    valid_num = null;
                }else {
                    valid_num = groupName.getText().toString();
                }
            }
        });

答案 4 :(得分:0)

在xml中添加maxLength属性:

android:maxLength="25"

并在OnTextChangeListener中:

yourEditText.setText("Characters remaining : "+Integer.toString(25-(s.length())));