Builder。私は却下または取り消しするときに何らかのアクションを実行したい。だから私はsetOnDismissListener
とsetOnCancelListener
のようなコードを使用しました。しかし、この両方の方法は、AlertDialog.Builder
を消すときに検出しません。 AlertUtils
でgetBuilder
方法は次のようにAlertDialog.BuilderはAPI 17で動作しません。android
private static void openOptionDialog(final Context context, Item[] items, String title, DialogInterface.OnClickListener positiveClick) {
ListAdapter adapter = new ArrayAdapter<Item>(
context, android.R.layout.select_dialog_item, items) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
TextView textView = (TextView) view.findViewById(android.R.id.text1);
Item item = getItem(position);
textView.setText(item.string);
textView.setTextSize(16f);
textView.setCompoundDrawablesWithIntrinsicBounds(item.icon, 0, 0, 0);
textView.setCompoundDrawablePadding(BDevice.getPixelFromDp(context, 15));
return view;
}
};
AlertDialog.Builder builder = AlertUtils.getBuilder(context);
builder.setTitle(title);
builder.setAdapter(adapter, positiveClick);
builder.create().show();
builder.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
WidgetSettings preference = new WidgetSettings(context);
if(preference.canWidgetTooteets()){
preference.clear();
}
}
});
builder.setOnCancelListener(new DialogInterface.OnCancelListener() {
public void onCancel(DialogInterface dialog) {
WidgetSettings preference = new WidgetSettings(context);
if(preference.canWidgetTooteets()){
preference.clear();
}
}
});
}
、
public static AlertDialog.Builder getBuilder(Context context) {
return new AlertDialog.Builder(context, R.style.Dialog);
}
あなたは、このための解決策を見つけるために私を提案してくださいもらえますか?前もって感謝します。
を? –
@RavishSharma AlertDialog.Builderを終了するときに何らかのアクションを実行したい。 – Sangeetha
@Sangeetha * AlertDialog.Builder *の代わりに* AlertDialog *を試し、* setOnDismissListener *を追加して動作させてください。 –