3

私は多くの解決策を試しましたが、スピナーの位置が可変である場合、つまり一定でない場合、 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);

私はたくさん検索しましたが、私の問題に対する解決策が得られませんでした。助けてください。前もって感謝します

4

0 に答える 0