请帮助大家,.. 我有dialogprogress并显示是否选择了项目微调器。 单击旋转器中的所选项后,可以再次调用对话框中的dialogprogress ..
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
}
});
答案 0 :(得分:0)
根据文件, Spinner的onItemSelected在选择此视图中的项目时调用的Callback方法。仅当新选择的位置与先前选择的位置不同或者没有选定的项目时,才会调用此回调。
答案 1 :(得分:0)
int spinnerpos = adapter.getPosition(spinner item);
spinner item是已选择的微调器项的值。
spinopr.setSelection(spinnerpos);
然后将调用onItemSelected。
答案 2 :(得分:0)
最后,我找到了解决方案
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