基本上我想要做的就是关闭Spinner的对话框和我在这些框之外点击时创建的自定义对话框。谁知道如何处理这些?
dialog.xml,My Spinner的xml,MakeandShowDialogBox函数如下:
dialog.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TableLayout
android:id="@+id/scheduleTable"
android:layout_height="wrap_content"
android:layout_width="match_parent"
></TableLayout>
</LinearLayout>
Spinner XML
<Spinner
android:id="@+id/spinList"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/strDepartmentNames"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:spinnerMode="dialog"
android:paddingTop="15dp"
android:paddingBottom="15dp" />
makeAndShowDialogBox
private void makeAndShowDialogBox() {
AlertDialog.Builder myDialogBox = new AlertDialog.Builder(this);
final LayoutInflater layoutInflater = (LayoutInflater) getApplicationContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
final View dialogView = layoutInflater.inflate(R.layout.dialog, null);
// Set three option buttons
myDialogBox.setPositiveButton("Close",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
}
});
myDialogBox.setView(dialogView);
myDialogBox.create();
myDialogBox.show();
}
答案 0 :(得分:5)
您只需在对话框中添加此选项
myDialogBox.setCancelable(true);
答案 1 :(得分:0)
您是否尝试调用此方法setCanceledOnTouchOutside(true)
。
myDialogBox.setCanceledOnTouchOutside(true);
Afaik它应该有用。