如何将Edittext设置为多行?
问题原因:在设置EditText为多行输入时,可能会出现不能换行的情况。
解决方法:根据以下步骤进行操作。
1. 查找EditText控件:
etReqdesc = (EditText) findViewById(R.id.reqdesc);
2. 在onCreate()方法中通过编程方式调用以下代码:
etReqdesc.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_MULTI_LINE); etReqdesc.setSingleLine(false); etReqdesc.setImeOptions(EditorInfo.IME_FLAG_NO_ENTER_ACTION);
3. 确保你的EditText控件的属性如下:
4. 移除android:maxLength="80"属性。
通过以上步骤,你可以解决EditText不能换行的问题。如果你想动态设置EditText的最大长度,可以参考这个回答。
如果你清理了项目但仍然不能换行,请检查以上步骤是否正确执行。
问题出现的原因:在设置Edittext为多行时,需要设置InputType为TYPE_CLASS_TEXT和TYPE_TEXT_FLAG_MULTI_LINE,同时还需要设置InputFilter来限制输入的最大长度。
解决方法:将以下代码放在onCreate方法中即可解决问题。
reqdesc = (EditText) myView.findViewById(R.id.reqdesc); reqdesc.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_MULTI_LINE | InputType.TYPE_TEXT_FLAG_CAP_SENTENCES); InputFilter[] fArray = new InputFilter[1]; fArray[0] = new InputFilter.LengthFilter(maxLength); reqdesc.setFilters(fArray);