[解決済み] EditText setOnFocusChangeListenerをすべてのEditTextに設定する。
2022-02-12 22:37:07
質問
いくつかのEditTextフィールドがあり、setOnFocusChangeListenerを使ってSQLiteDatabaseに保存したいのですが、どうすればよいですか?それぞれ個別にonFocusChangeListenerを設定しなければならないのでしょうか、それともある種のキャッチオールなものがあるのでしょうか?(これは断片なのでgetActivity().findViewByID)
final TextView txtName = (TextView)getActivity().findViewById(R.id.clientHeader);
final TextView txtCompany = (TextView)getActivity().findViewById(R.id.txtContactCompany);
final TextView txtPosition = (TextView)getActivity().findViewById(R.id.txtContactPosition);
txtName.setOnFocusChangeListener(new OnFocusChangeListener() {
public void onFocusChange(View v, boolean hasFocus) {
if(!hasFocus) {
saveThisItem(txtClientID.getText().toString(), "name", txtName.getText().toString());
}
}
});
txtCompany.setOnFocusChangeListener(new OnFocusChangeListener() {
public void onFocusChange(View v, boolean hasFocus) {
if(!hasFocus) {
saveThisItem(txtClientID.getText().toString(), "company", txtCompany.getText().toString());
}
}
});
txtPosition.setOnFocusChangeListener(new OnFocusChangeListener() {
public void onFocusChange(View v, boolean hasFocus) {
if(!hasFocus) {
saveThisItem(txtClientID.getText().toString(), "position", txtPosition.getText().toString());
}
}
});
例えば... EditText ViewsのArrayList < EditText >を用意して、既存のeditTextへのポインタ(すみません、方法がわかりません)を割り当て、onFocusChangeListenerを配列リスト全体に設定する方法はありませんか?あるいは、ArrayListを繰り返し、各メンバーにonFocusChangeListenerを設定することも可能でしょうか?
あるいは、onFocusChangeListenerのイベントをすべて検出し、どのEditTextで発生したかにかかわらず、すべてのデータをデータベースに保存する方法はありますか?
解決方法は?
さて、あなたのアクティビティに
OnFocusChangeListener
. この方法では、すべての変更はその1つのメソッドで行われますが、どのビューのフォーカスが変わったかを確認するために
v.getId()
で、それに応じて処理します。
@Override
public void onFocusChange(View v, boolean hasFocus) {
switch(v.getId()){
case r.id.editText1:
break;
...etc
}
}
関連
-
[解決済み】react-native: コマンドが見つかりません。
-
[解決済み] [Solved] Unsupported method: ベースコンフィグ.getApplicationIdSuffix()
-
[解決済み] Looper.prepare()を呼び出していないスレッドではハンドラを作成できない
-
[解決済み] AndroidのEditTextビューで複数行を許可しますか?
-
[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法
-
[解決済み] AndroidでEditTextのテキスト長を制限する最も良い方法は何ですか?
-
[解決済み] EditTextのカーソル色を設定する
-
[解決済み] EditTextのアンダーバーを非表示にする方法
-
[解決済み] Android - EditTextで "Enter "を処理する
-
[解決済み] EditTextの頭文字を大文字にする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Android: Intent エラーを処理するアクティビティは見つかりませんでしたか?どのように解決するのか
-
[解決済み] カスタムアダプタからnotifyDataSetChangeが機能しない
-
[解決済み】アンドロイドクロームブラウザのモバイルウェブアプリケーションのメニューでHTMLユニコード ☰が検出されない。
-
[解決済み] ユーザーが拒否する可能性のあるパーミッションが必要なコール
-
[解決済み】ビューのルートとしてNULLを渡さないようにする(膨張したレイアウトのルート要素でレイアウトパラメータを解決する必要がある)。
-
[解決済み】アクティビティにない場所でのgetLayoutInflater()の呼び出し
-
[解決済み】googleコンソールエラー`OR-IEH-01`について
-
[解決済み] BIOSのセキュリティ設定でVT-xを有効にする(お使いのコンピュータのドキュメントを参照)。
-
[解決済み] Android Fragment no view found for ID?
-
[解決済み] Android M パーミッション : shouldShowRequestPermissionRationale()関数の使用方法について混乱しています。