[解決済み] Android Spinner : 初期化時のonItemSelected呼び出しを回避する。
2022-04-20 03:44:17
質問
Androidアプリケーションを作成し
Spinner
と
TextView
. Spinnerのドロップダウンリストで選択された項目をTextViewに表示したいのですが、どうすればよいでしょうか?スピナーの実装は
onCreate
メソッドに値が表示されるので、プログラムを実行するときに
TextView
(ドロップダウン・リストから項目を選択する前に)。
ドロップダウンリストで項目を選択した後、初めてTextViewに値を表示したいのですが。どうすればいいでしょうか?
以下は私のコードです。
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
public class GPACal01Activity extends Activity implements OnItemSelectedListener {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Spinner spinner = (Spinner) findViewById(R.id.noOfSubjects);
// Create an ArrayAdapter using the string array and a default spinner layout
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,R.array.noofsubjects_array, android.R.layout.simple_spinner_item);
// Specify the layout to use when the list of choices appears
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// Apply the adapter to the spinner
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(this);
}
public void onItemSelected(AdapterView<?> parent, View arg1, int pos,long id) {
TextView textView = (TextView) findViewById(R.id.textView1);
String str = (String) parent.getItemAtPosition(pos);
textView.setText(str);
}
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
}
解決方法は?
spinner.setOnItemSelectedListener(this); // Will call onItemSelected() Listener.
だから、初めてこれを任意の整数値で処理する。
例
最初に
int check = 0;
public void onItemSelected(AdapterView<?> parent, View arg1, int pos,long id) {
if(++check > 1) {
TextView textView = (TextView) findViewById(R.id.textView1);
String str = (String) parent.getItemAtPosition(pos);
textView.setText(str);
}
}
ブーリアン値や、現在位置と前位置をチェックすることによっても可能です。 こちらをご覧ください
関連
-
[解決済み] アンドロイドスピナー 選択されたアイテムの変更イベントを取得
-
アンドロイドプロジェクトのパッケージングにgradleを使用する際の問題点
-
Android studioのインストールと問題発生、Emulator: PANIC: AVDのシステムパスが見つかりません。
-
Error:A problem occurred configuring project ':app'. > ビルドを見つけられませんでした。
-
android exception - aapt.exe has stopped working.
-
android bluetooth--Bluetooth on、検索、ペアリング、接続
-
Android Get set image.setImageResource(R.drawable.xxx) リソース
-
SpinnerのOnItemSelectedListenerのonItemSelectedメソッドの4つのパラメーターの意味
-
[解決済み] 初期テキストが「Select One」のAndroidスピナーを作るには?
-
[解決済み] 新しくインスタンス化されたスピナーで、onItemSelectedを起動させないようにするにはどうすればよいですか?
最新
-
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で発生した問題、解決策とヒント
-
RuntimeException: アクティビティを開始できません ComponentInfo solution
-
アンドロイドプロジェクトのパッケージングにgradleを使用する際の問題点
-
Google PlayデバイスはPlay保護機構の認証を受けていません。
-
android exception - aapt.exe has stopped working.
-
Android Nで報告されたエラーを解決する: android.os.FileUriExposedException: file:///storage/emulated/0/
-
WeChatとQQは、他のアプリのオープンリストに自分のアプリを追加し、ファイルパスを取得することができます
-
AndroidStudioのショートカット 検索/置換
-
Android TextViewは、テキスト内容が表示省略記号を超えているかどうかを判断する
-
[解決済み] 新しくインスタンス化されたスピナーで、onItemSelectedを起動させないようにするにはどうすればよいですか?