문제

타이핑을 비활성화하려면 어떻게해야합니다 EditText 안드로이드의 필드?

도움이 되었습니까?

해결책

나는 그것의 안드로이드의 버그라고 생각합니다.이 패치를 추가하여 수정할 수 있습니다 :)
이 링크를 확인하십시오질문 1그리고질문 2

그것이 유용하기를 바랍니다.

다른 팁

당신이 사용할 수있는 EditText.setFocusable(false) 편집을 비활성화합니다
EditText.setFocusableInTouchMode(true) 편집을 활성화하려면;

코드 :

editText.setEnabled(false);

또는 XML에서 :

android:editable="false"

가정합니다 editText 당신입니다 EditText 물체:

editText.setEnabled(false);

다음 방법을 시도 할 수 있습니다.

 private void disableEditText(EditText editText) {
    editText.setFocusable(false);
    editText.setEnabled(false);
    editText.setCursorVisible(false);
    editText.setKeyListener(null);
    editText.setBackgroundColor(Color.TRANSPARENT); 
 }

enabled edittext :

Enabled EditText

비활성화 된 editText :

Disabled EditText

그것은 나를 위해 일하고 그것이 당신을 돕기를 바랍니다.

EditText의 집중 가능한 속성을 "False"로 설정하면 완료됩니다.

<EditText
        android:id="@+id/EditTextInput"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:focusable="false"
        android:gravity="right"
        android:cursorVisible="true">
    </EditText>

아래 옵션은 작동하지 않습니다

코드 :

editText.setEnabled(false);또는 XML에서 :android:editable="false"

Edittext edittext = (EditText)findViewById(R.id.edit);
edittext.setEnabled(false);

아래 코드는 Android에서 edittext를 비활성화합니다

editText.setEnabled(false);
edittext.setFocusable(false); 
edittext.setEnabled(false);

InputMethodManager imm = (InputMethodManager)
  getSystemService(Context.INPUT_METHOD_SERVICE);

imm.hideSoftInputFromWindow(edittext.getWindowToken(), 0);
  //removes on screen keyboard

할 수 있게 하다:

private void enableEditText() {
    mEditText.setFocusableInTouchMode(true);
    mEditText.setFocusable(true);
    mEditText.setEnabled(true);
}

장애를 입히다:

private void disableEditText() {
    mEditText.setEnabled(false);
    mEditText.setFocusable(false);
    mEditText.setFocusableInTouchMode(false);
}

Android에서 edittext를 비활성화하려면 :

editText.setEnabled(false);

당신은 쓸 수 있습니다 edittext.setInputType(0) editText를 표시하려면 값을 입력하지 않으려면

이것을 부모로 작성하십시오.

android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true"

예시:

<RelativeLayout 
android:id="@+id/menu_2_zawezanie_rl"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/menu_2_horizontalScrollView"
android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true"
android:orientation="horizontal"
android:background="@drawable/rame">

<EditText
    android:id="@+id/menu2_et"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_centerVertical="true"
    android:layout_toLeftOf="@+id/menu2_ibtn"
    android:gravity="center"
    android:hint="@string/filtruj" >
</EditText>
<ImageButton
    android:id="@+id/menu2_ibtn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_centerVertical="true"
    android:background="@null"
    android:src="@drawable/selector_btn" />

나에 따르면 ... 당신이 이미 선언 한 경우 edittext XML 파일에서 속성을 XML 파일로 설정합니다. "android:enabled=false" 2 또는 3 줄만 추가하는 Java 파일로 런타임을 비활성화합니다.

  1. 먼저 개체를 만듭니다
  2. edittext et1 선언;
  3. ID로 얻으십시오

    et1 = (EditText) FindViewById(R.id.edittext1);
    et1.setEnabled(false);

Java 파일로 실행 시간에 모든 컨트롤을 활성화 또는 비활성화 할 수 있으며 XML 파일별로 설계 시간.

XML editable 그 이후로 부동산은 더 이상 사용되지 않습니다 API 레벨 15.

지금 사용해야합니다 inputType 가치가있는 속성 none. 그러나이 기능을 쓸모 없게 만드는 버그가 있습니다.

여기 문제 상태를 따를 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top