[解決済み] 新しくインスタンス化されたスピナーで、onItemSelectedを起動させないようにするにはどうすればよいですか?
2022-03-21 06:33:51
質問
この問題を解決するために、あまりエレガントではない方法をいくつか考えてみたのですが、何か見逃していることがあるはずです。
私の
onItemSelected
これは望ましくない動作です。 ユーザーが何かを選択するまで、UIは何もしないようにしてほしいです。
にリスナーを設定してみたりもしました。
onResume()
というようなことが起こるかもしれません。
ユーザーがコントロールに触れる前に、これが発射されないようにするには、どうしたらよいでしょうか?
public class CMSHome extends Activity {
private Spinner spinner;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Heres my spinner ///////////////////////////////////////////
spinner = (Spinner) findViewById(R.id.spinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this, R.array.pm_list, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
};
public void onResume() {
super.onResume();
spinner.setOnItemSelectedListener(new MyOnItemSelectedListener());
}
public class MyOnItemSelectedListener implements OnItemSelectedListener {
public void onItemSelected(AdapterView<?> parent,
View view, int pos, long id) {
Intent i = new Intent(CMSHome.this, ListProjects.class);
i.putExtra("bEmpID", parent.getItemAtPosition(pos).toString());
startActivity(i);
Toast.makeText(parent.getContext(), "The pm is " +
parent.getItemAtPosition(pos).toString(), Toast.LENGTH_LONG).show();
}
public void onNothingSelected(AdapterView parent) {
// Do nothing.
}
}
}
解決方法は?
リスナーを設定する前にアダプタを設定すると、選択イベントが発生しないのではと思ったのですが、あなたの解決策を期待します。
とはいえ、単純なブーリアン・フラグがあれば、不正な最初の選択イベントを検出し、それを無視することができるようになります。
関連
-
[解決済み] スピナーの文字サイズと文字色を変更するには?
-
AndroidStudio reports Could not resolve all artifacts for configuration ':app:classpath'.
-
プログラム "git.exe "を実行できない場合の正しい解決方法です。CreateProcessエラー=2
-
android E/RecyclerView﹕ アダプタが接続されていないため、レイアウトをスキップする。
-
アンドロイドプロジェクトのパッケージングにgradleを使用する際の問題点
-
アプリはGoogle検索でインデックスされません Androidmanifestのクソみたいな黄色い警告
-
ActivityはOnFragmentInteractionListenerを実装しなければならないに関する質問
-
WeChatとQQは、他のアプリのオープンリストに自分のアプリを追加し、ファイルパスを取得することができます
-
[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法
-
[解決済み] 初期テキストが「Select One」のAndroidスピナーを作るには?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
adb devices OffLine Solution(オフラインソリューション
-
AndroidStudio3.0 Error:Execution failed for task ':app:processDebugResources'.
-
Android のパッケージングに失敗し、Android リソースのリンクに失敗したことを示すプロンプトが表示される
-
Google PlayデバイスはPlay保護機構の認証を受けていません。
-
問題 ---- Android ---- ActivityManager: Error: アクティビティクラス{xx/xx.MainActivity}が存在しない
-
Android Bluetooth 開発の基本プロセス
-
android bluetooth--Bluetooth on、検索、ペアリング、接続
-
SpinnerのOnItemSelectedListenerのonItemSelectedメソッドの4つのパラメーターの意味
-
Android--shape--描画のコーナー、グラデーション、パディング、サイズ、ソリッド、ストロークのプロパティを指定する。
-
[解決済み] Android Spinner : 初期化時のonItemSelected呼び出しを回避する。