[Android] edittext를 한 줄로 제한


Answers

android:singleLine="true" 사용 android:singleLine="true" 는 더 이상 사용되지 않습니다.

입력 유형을 추가하고 maxline을 1로 설정하면 모든 것이 잘 작동합니다.

android:inputType="text"
android:maxLines="1"
Question

가능한 중복 : android-singleline-true-not-working-for-edittext

<EditText 
    android:id="@+id/searchbox"  
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:lines="1"
    android:scrollHorizontally="true"
    android:ellipsize="end"
    android:layout_weight="1"
    android:layout_marginTop="2dp"
    android:drawablePadding="10dp"
    android:background="@drawable/edittext"
    android:drawableLeft="@drawable/folder_full"
    android:drawableRight="@drawable/search"
    android:paddingLeft="15dp"
    android:hint="search...">
</EditText>

위의 EditText 를 단 한 줄로 만들고 싶습니다. 사용자가 "엔터"를 눌러도 커서는 두 번째 줄로 내려 가지 않아야합니다. 아무도 내가 그 일을하도록 도울 수 있습니까?




이 줄을 xml의 EditText에 추가해야합니다 :

android:maxLines="1"



이제 android:singleLine 속성은 더 이상 사용되지 않습니다. 이러한 속성을 EditText 에 추가하여 EditText 가 단일 행이되도록하십시오.

android:inputType="text"
android:imeOptions="actionNext"
android:maxLines="1"



android:singleLine="true" 포함 android:singleLine="true"




이것은 EditText에서 작동합니다 :

android:inputType="text"

그런 다음 입력 텍스트의 최대 길이를 설정합니다.

android:maxLength="<int>"

그것들은 지금 필요한 2 가지입니다.




용도

android:ellipsize="end"
android:maxLines="1"



@Aleks G OnKeyListener ()는 잘 작동하지만 MainActivity에서 실행하여 약간 수정해야했습니다.

EditText searchBox = (EditText) findViewById(R.id.searchbox);
searchBox.setOnKeyListener(new OnKeyListener() {

    public boolean onKey(View v, int keyCode, KeyEvent event) {

        if (event.getAction() == KeyEvent.ACTION_DOWN && keyCode == KeyEvent.KEYCODE_ENTER) {
            //if the enter key was pressed, then hide the keyboard and do whatever needs doing.
            InputMethodManager imm = (InputMethodManager) MainActivity.this.getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.hideSoftInputFromWindow(searchBox.getApplicationWindowToken(), 0);

            //do what you need on your enter key press here

            return true;
        }

        return false;
    }
});

나는 이것이 동일한 것을하는 것을 시도해 누군가를 원한다는 것을 희망한다.




edittext에이 줄을 추가하십시오.

android : inputType = "text"




as android:singleLine="true" 는 이제 감가 상각 됩니다.

android : maxLines = "1"

대신에 maxLines를 사용하여 정적 텍스트의 레이아웃을 변경하고 편집 가능한 텍스트보기 대신 inputType 속성의 textMultiLine 플래그를 사용하십시오 (singleLine 및 inputType이 모두 제공되면 inputType 플래그가 singleLine의 값을 대체합니다).




android:imeOptions="actionDone"

나를 위해 일했다.