私は多くの解決策を試しましたが、スピナーの位置が可変である場合、つまり一定でない場合、 setSelection(position) は機能しません。
以下は私が試したアプローチであり、すべてスピナーの setAdapter の後に書かれています。
また、期待どおりの値を持つこのメソッドを呼び出す前に pos 変数の値をチェックしましたが、すべての場合で 0 番目の位置のデフォルト要素を取得しています。
1)ハンドラーを使用する場合:
int pos=getPos(); // some method to return default position to be displayed for spinner
new Handler().postDelayed(new Runnable() {
public void run() {
clinicListSpinner.setSelection(pos,true);
}
}, 100);
2) animate パラメータを true に設定:
clinicListSpinner.setSelection(position,true);
3) animate パラメータを false に設定:
clinicListSpinner.setSelection(position,false);
4) 通常の setposition 呼び出し:
clinicListSpinner.setSelection(position);
Android 4.1では何も機能しませんでした
しかし、ハードコードされた値または定数値を変数に送信すると、上記のすべてのケースでうまく機能します
e.g. clinicListSpinner.setSelection(1,true);
私はたくさん検索しましたが、私の問題に対する解決策が得られませんでした。助けてください。前もって感謝します