AndroidのEditText
フィールドへの入力を無効にするにはどうすればよいですか?
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);
}
EditTextを有効化:
無効なEditText:
それは私のために働き、それがあなたを助けることを願っています。
Edittextのfocusableプロパティを「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);
edittext.setFocusable(false);
edittext.setEnabled(false);
InputMethodManager imm = (InputMethodManager)
getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(edittext.getWindowToken(), 0);
//removes on screen keyboard
以下のコードは、AndroidでEditTextを無効にします
editText.setEnabled(false);
有効にする:
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.setEnabled(false);
編集テキストを表示するが値を入力しない場合は、edittext.setInputType(0)
と書くことができます。
API LEVEL 15 であるため、XML editable
プロパティは非推奨です。
値inputType
を持つnone
プロパティを使用する必要があります。しかし、この機能を役に立たないバグがあります。
ここ 問題のステータスを追跡できます。
親にこれを書いてください:
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" />
私によると...あなたがすでにXMLファイルでedittext
を宣言し、XMLファイルでプロパティを設定している場合"Android:enabled=false"
、Javaでその時点でそれを無効にする_ 2行または3行のみを追加するファイル
IDで取得
et1 = (EditText) FindViewById(R.id.edittext1);
et1.setEnabled(false);
Javaファイルによって実行時にすべてのコントロールを有効または無効にし、XMLファイルによって設計時に有効または無効にすることができます。