本当にスピナーを使用する必要がない場合は、このコードを使用してみてください。
ダイアログ内のリストビュー。ダイアログの Cancel/dismiss イベントをリッスンできます (同じこと)。これは API 11 で使用できます。
final Dialog dialog = new Dialog(context);
dialog.setContentView(R.layout.custom_list_popup);
//dialog.setCancelable(false);
dialog.setTitle("Title");
dialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
//
//Do your onCancel things here
//
}
});
final ListView listView = (ListView) dialog.findViewById(R.id.lv_sales_tax);
listView.setAdapter(adapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//
//Do your stuff here
//
dialog.dismiss();
}
});
dialogButton.setVisibility(View.GONE);
dialog.show();
}
});
custom_list_popup.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:paddingBottom="20dp"
android:orientation="vertical">
<ListView
android:id="@+id/lv_sales_tax"
android:divider="@drawable/list_divider"
android:dividerHeight="20dp"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>