EditText imeOptions를 actionNext로 설정해도 효과가 없습니다.


94

상당히 복잡한 (실제로는) xml 레이아웃 파일이 있습니다. 뷰 중 하나 v1는 EditText ( v2) 및 다른 LinearLayout ( v3)의 두 자식이있는 LinearLayout ( )입니다. 자식 LinearLayout에는 차례로 EditText ( v4) 및 ImageView ( v5)가 있습니다.

EditText v2의 경우 imeOptions가 있습니다.

android:imeOptions="actionNext"

나는 응용 프로그램을 실행할 때, 키보드의은 return을 확인하지 않습니다 next와 나는 변경하려는 next. 이 문제를 어떻게 해결합니까?

또한 사용자가 다음을 클릭하면 EditText v4로 이동합니다. 내가할까요?

실제로 코드를 확인해야하는 사람들을 위해 :

<LinearLayout
        android:id="@+id/do_txt_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/col6"
        android:orientation="vertical"
        android:visibility="gone" >

        <EditText
            android:id="@+id/gm_title"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="5dp"
            android:background="@drawable/coldo_text"
            android:hint="@string/enter_title"
            android:maxLines="1"
            android:imeOptions="actionNext"
            android:padding="5dp"
            android:textColor="pigc7"
            android:textSize="ads2" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:orientation="horizontal" >

            <EditText
                android:id="@+id/rev_text"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_gravity="center_vertical"
                android:layout_margin="5dp"
                android:layout_weight="1"
                android:background="@drawable/coldo_text"
                android:hint="@string/enter_msg"
                android:maxLines="2"
                android:padding="5dp"
                android:textColor="pigc7"
                android:textSize="ads2" />

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:layout_gravity="center_vertical"
                android:background="@drawable/colbtn_r”
                android:clickable="true"
                android:onClick=“clickAct”
                android:paddingLeft="5dp"
                android:paddingRight="5dp"
                android:src="@drawable/abcat/>
        </LinearLayout>
    </LinearLayout>

이것이 형제가 아닌 뷰에 대해 작동하는지 확실하지 않지만 추가해 볼 수 있습니다 android:nextFocusDown="@id/edit_text_v4"(시도 android:nextFocusForward하거나 다른 nextFocus 속성 중 일부를 시도 할 수도 있음 ).
Karakuri 2014

@Karakuri 작동하지 않았습니다. 다음 버튼이 전혀 표시되지 않습니다. 버튼은 여전히 ​​돌아 가기 버튼입니다.
Katedral Pillon 2014

1
@KatedralPillon 당신은 그것을 해결할 수 있었습니까? 그렇다면 여기에 솔루션을 게시 할 수 있습니까? 나는 같은 문제에 직면하고 있습니다.
h4ck3d

답변:


189

android:maxLines="1" & android:inputType="text"EditText에 추가 하기 만하면 됩니다. 작동합니다 !! :)


3
EditText의 높이를 wrap_content로 설정해보십시오.
Surendra Kumar

4
으로도 작동하지 않습니다 wrap_content . 설정은 inputType내 경우에는 문제를 해결했다.
manfcas

3
android:maxLines="1"대신 사용 android:singleLine="true"되지 않음
blueware

9
그러나`android : singleLine = "true"`는 더 이상 사용되지 않지만 일부 maxLine="1"는 작동하지 않지만 트릭은 어떻게 작동합니다.
Paresh P. dec.

2
imeoptions가 작동하도록하려면 inputType = "text"를 설정해야합니다.
Duran Jayson

49

singleLine더 이상 사용되지 않습니다. 입력 유형 (예 :)을 추가하는 android:inputType="text"것도 저에게 효과적이었습니다.

사용 android:maxLines="1"으로 singleLine사용되지 않습니다


1
정답입니다 !! imeOptions 및 maxLines는 inputType 없이는 효과가 없습니다
Christopher Smit

43

android:singleLine 더 이상 사용되지 않습니다. 결합하는 것이 좋습니다. android:maxLines="1"android:inputType="text" . 와 . 다음은 코드입니다.

<EditText
        android:id="@+id/editText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:maxLines="1"
        android:inputType="text"
        />

21

여기에 제공된 답변은 모두 매우 유용했지만 여전히 키보드의 "Next"를 표시하기 위해 고군분투하고있었습니다.

android:digitsXML에서 Android의 속성 을 사용 하면 android:imeOptions="actionNext"예상대로 작동 하지 않는 것으로 나타났습니다 .

대답은 실제로 사용되지 않는 android:singleLine="True" 입니다. 이것은 IME 옵션이 존중되도록 강제하는 것 같습니다.

작동하지 않는 오래된 코드

        <android.support.design.widget.TextInputEditText
            android:id="@+id/first_name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ- "
            android:ellipsize="end"
            android:hint="@string/first_name"
            android:imeOptions="actionNext"
            android:inputType="textCapWords"
            android:maxLength="35"
            android:maxLines="1" />

작업 코드

        <android.support.design.widget.TextInputEditText
            android:id="@+id/first_name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ- "
            android:ellipsize="end"
            android:hint="@string/first_name"
            android:imeOptions="actionNext"
            android:inputType="textCapWords"
            android:maxLength="35"
            android:maxLines="1"
            android:singleLine="true" />

나는 deprecated 속성을 사용하는 것을 좋아하지 않지만 현재로서는 원하는 결과를 얻는 것 같습니다.


사용되지 않는 감사하지만 작동 중입니다 !! 앞으로 어떤 문제가 발생합니까?
Arbaz.in

11

한 줄이 더 이상 사용되지 않으므로 inputType이 필요하다고 생각하는 코드 아래에 추가하십시오.

        <EditText 
            android:inputType="text"
            android:maxLines="1"
            android:imeOptions="actionNext" />

10

마지막으로이 문제에 대한 확실한 해결책을 찾았 습니다. 편집 텍스트 에이 3 줄 을 추가하면 정상적으로 작동합니다.

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

여기에서 요구 사항에 따라 maxLines 를 추가 할 수 있습니다 . 지금은 더 이상 사용되지 않으므로 singleLine 을 사용 하지 마십시오 . 행운을 빕니다!


8
android:inputType="text"

imeOptions가 작동하려면 inputType을 지정해야합니다.


마지막 항목이 형식의 암호이면 어떻게됩니까?
silentsudo

5

여기서 핵심은 입력 유형 및 imeOptions 속성을 설정하는 것입니다.

<EditText 
   android:inputType="number"
   android:maxLines="1"
   android:imeOptions="actionSearch" />

5

이것은 나를 위해 일했습니다.

변경 :

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

그것에 :

android:singleLine="true"
android:inputType="text"
android:imeOptions="actionNext"

inputType = "text"가 나를 위해 해냈습니다.
Hackmodford

같은 inputeType = "text"가 나를 위해 작동합니다
wesley franks

4
<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/auth_register_re_password"
    android:hint="Enter Password Again"
    android:imeActionLabel="login"
    android:gravity="center"
    android:imeOptions="actionUnspecified"
    android:inputType="textPassword"
    android:maxLines="1"/>

actionUnspecified정확히 무엇을하는지 .
Shubham Naik

4

아래 코드는 힘입니다

android:inputType="text"

4

이 세 줄이면 충분합니다.

android:singleLine="true"
android:inputType="text"
android:imeOptions="actionNext"
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.