EditText
<android.support.v7.widget.AppCompatEditText
android:id="@+id/itemEditText_id"
android:layout_width="match_parent"
android:layout_height="70dp"
android:layout_marginTop="8dp"
android:layout_marginStart="2dp"
android:layout_marginEnd="4dp"
android:lines="2"
android:scrollHorizontally="false"
android:maxLength="69"
android:scrollbars="vertical"
android:background="@drawable/round_border_edit_text"
android:hint="Go ahead nSend messge"
android:inputType="textMultiLine|textLongMessage"
android:textAppearance="@style/TextAppearance.AppCompat.Body2"
android:maxLines="2"
android:minLines="1"
/>
这是我的XML代码,如果需要在此处添加或删除某些内容,请告知。
我用来实现我想要的Java代码,如whatsapp的editText,但它不能很好地工作
final AppCompatEditText editText = holder.itemEditText;
editText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
// if edittext has 10chars & this is not called yet, add new line
if(editText.getText().length() == 34 && !isReached) {
editText.append("n");
isReached = true;
}
// if edittext has less than 10chars & boolean has changed, reset
if(editText.getText().length() < 34 && isReached) isReached = false;
Log.d("char", "onTextChanged: "+charSequence);
Log.d("i", "onTextChanged: "+i);
Log.d("i1", "onTextChanged: "+i1);
Log.d("i2", "onTextChanged: "+i2);
}
@Override
public void afterTextChanged(Editable editable) {
}
});
}
这段代码没有像我想要的那样工作,或者你可以说我无法按照我希望 editText 的方式进行编码。
我希望我的 editText 像 Whatsapp 的 editText 一样工作,就像我键入某些内容时一样,它到达 editText 内的图标,光标会转到带有键入单词的新行。在我的编辑文本中,单词位于图像按钮下方,我将其用作发送图标。我不希望单词位于发送图标下方。请帮忙。
图像按钮
<android.support.v7.widget.AppCompatImageButton
android:id="@+id/itemSendButton_id"
android:layout_width="25dp"
android:layout_height="20dp"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginEnd="11dp"
android:background="@color/colorFacebookBtnText"
android:clickable="true"
android:focusable="true"
android:scaleType="fitCenter"
android:src="@drawable/ic_send" />
我是编程新手,所以请帮助我并提前感谢。
使用这个
et1.addTextChangedListener(new TextWatcher() {
public void onTextChanged(CharSequence s, int start,int before, int count)
{
// TODO Auto-generated method stub
if(et1.getText().toString().length()==size) //size as per your requirement
{
et2.requestFocus();
}
}
public void beforeTextChanged(CharSequence s, int start,
int count, int after) {
// TODO Auto-generated method stub
}
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
});