Android 如何返回微调器的位置,以便再次选择所选选项

Android 如何返回微调器的位置,以便再次选择所选选项,android,spinner,Android,Spinner,请帮帮大家,。。 我有dialogprogress并显示是否选择了项目微调器。 单击微调器中的选定项目后,可以再次调用对话框Progress on the same item selected spinopr.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?&g

请帮帮大家,。。 我有dialogprogress并显示是否选择了项目微调器。 单击微调器中的选定项目后,可以再次调用对话框Progress on the same item selected

spinopr.setOnItemSelectedListener(new OnItemSelectedListener() {

                @Override
                public void onItemSelected(AdapterView<?> parent,
                        View view, int position, long id) {
                    ConnectivityManager cm = (ConnectivityManager) getActivity()
                            .getSystemService(Context.CONNECTIVITY_SERVICE);
                    NetworkInfo ni = cm.getActiveNetworkInfo();
                    if (position != 0 && ni != null) {
                        new TransaksiPulsaAsync().execute();
                    } else if (position != 0 && ni == null) {
                        showToast("Koneksi Data tidak tersambung!");
                    }
                }

                @Override
                public void onNothingSelected(AdapterView<?> parent) {
                    // bikin apa
                }
            });
根据文件,
选择此视图中的项时,将调用微调器的onItemSelected回调方法。只有当新选择的位置与以前选择的位置不同或没有选择的项目时,才会调用此回调。

int spinnerpos=adapter.getPositionspinner item

微调器项是已选择的微调器项的值

spinopr.setSelectionspinnerpos


然后将调用onItemSelected。

最后,我找到了解决方案

public class SelectAgainSpinner extends Spinner {
OnItemSelectedListener listener;
int prevPos = -1;

public SelectAgainSpinner(Context context) {
    super(context);
}

public SelectAgainSpinner(Context context, AttributeSet attrs) {
    super(context, attrs);
}

public SelectAgainSpinner(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
}

@Override
public void setSelection(int position) {
    super.setSelection(position);
    if (position == getSelectedItemPosition() && prevPos == position) {
        getOnItemSelectedListener().onItemSelected(null, null, position, 0);
    }
    prevPos = position;
}
}


然后放入xml

有很多方法来存储您选择的索引,或者通过设置全局变量,或者在单个实例中存储。我对此一无所知。此外,我看不到任何问题。如果我理解你的意思,你的意思是你选择了项目1,并且你想在项目1上保持微调器选择锁定?这就是你的意思吗?@greenapps返回位置项目微调器,以便可以单击同一项目selected@Elltz在微调器中再次显示同一选定项目的对话框进度