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