我想在单击微调器时打开一个包含自动完成TextView的警告对话框。这里的代码
resNonRes = (Spinner)activity.findViewById(componentNameIdMap.get("SPINNER"));
resNonRes.setOnTouchListener(touch);
OnTouchListener touch = new OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event) {
final AutoCompleteTextView av = new AutoCompleteTextView(activity);
av.setAdapter((ArrayAdapter)resNonRes.getAdapter());
AlertDialog.Builder builderSingle = new AlertDialog.Builder(activity);
builderSingle.setTitle("Exception");
builderSingle.setView(av);
builderSingle.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
String avv = av.getText().toString();
ArrayAdapter myAdap = (ArrayAdapter) resNonRes.getAdapter(); //cast to an ArrayAdapter
int spinnerPosition = myAdap.getPosition(avv); //set the default according to value
resNonRes.setSelection(spinnerPosition);
}
});
builderSingle.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// Canceled.
}
});
builderSingle.show();
return false;
}
};
但它会打开多个警告对话框。
我无法使用onclick侦听器,因为微调器不支持项目单击事件,因为我在项目中使用了对比,所以我无法使用onItemSelectedSpinner,因为我将它用作所有微调器的通用。
请建议......
答案 0 :(得分:1)
因为你正在为所有触摸事件,向下,移动等做这件事。你应该只做它。