AlertDialog.java revision 9c802c1e95befbd8de30ea4ebc48ae05cb948b2b
19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* 29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Copyright (C) 2007 The Android Open Source Project 39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * you may not use this file except in compliance with the License. 69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * You may obtain a copy of the License at 79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * See the License for the specific language governing permissions and 149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * limitations under the License. 159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpackage android.app; 189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.content.Context; 209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.content.DialogInterface; 219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.database.Cursor; 229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.graphics.drawable.Drawable; 239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.os.Bundle; 249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.os.Message; 259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.view.KeyEvent; 269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.view.View; 279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.view.WindowManager; 289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.widget.AdapterView; 299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.widget.Button; 309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.widget.ListAdapter; 319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.widget.ListView; 329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport com.android.internal.app.AlertController; 349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/** 369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * A subclass of Dialog that can display one, two or three buttons. If you only want to 379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * display a String in this dialog box, use the setMessage() method. If you 389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * want to display a more complex view, look up the FrameLayout called "body" 399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * and add your view to it: 409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <pre> 429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * FrameLayout fl = (FrameLayout) findViewById(R.id.body); 439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * fl.add(myView, new LayoutParams(FILL_PARENT, WRAP_CONTENT)); 449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * </pre> 459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <p>The AlertDialog class takes care of automatically setting 479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link WindowManager.LayoutParams#FLAG_ALT_FOCUSABLE_IM 489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM} for you based on whether 499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * any views in the dialog return true from {@link View#onCheckIsTextEditor() 509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * View.onCheckIsTextEditor()}. Generally you want this set for a Dialog 519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * without text editors, so that it will be placed on top of the current 529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * input method UI. You can modify this behavior by forcing the flag to your 539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * desired mode after calling {@link #onCreate}. 549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpublic class AlertDialog extends Dialog implements DialogInterface { 569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private AlertController mAlert; 579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project protected AlertDialog(Context context) { 599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project this(context, com.android.internal.R.style.Theme_Dialog_Alert); 609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project protected AlertDialog(Context context, int theme) { 639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project super(context, theme); 649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mAlert = new AlertController(context, this, getWindow()); 659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project protected AlertDialog(Context context, boolean cancelable, OnCancelListener cancelListener) { 689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project super(context, com.android.internal.R.style.Theme_Dialog_Alert); 699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project setCancelable(cancelable); 709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project setOnCancelListener(cancelListener); 719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mAlert = new AlertController(context, this, getWindow()); 729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Gets one of the buttons used in the dialog. 769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <p> 779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * If a button does not exist in the dialog, null will be returned. 789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param whichButton The identifier of the button that should be returned. 809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * For example, this can be 819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link DialogInterface#BUTTON_POSITIVE}. 829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return The button from the dialog, or null if a button does not exist. 839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public Button getButton(int whichButton) { 859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return mAlert.getButton(whichButton); 869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Gets the list view used in the dialog. 909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return The {@link ListView} from the dialog. 929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public ListView getListView() { 949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return mAlert.getListView(); 959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @Override 989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void setTitle(CharSequence title) { 999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project super.setTitle(title); 1009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mAlert.setTitle(title); 1019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see Builder#setCustomTitle(View) 1059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void setCustomTitle(View customTitleView) { 1079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mAlert.setCustomTitle(customTitleView); 1089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void setMessage(CharSequence message) { 1119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mAlert.setMessage(message); 1129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set the view to display in that dialog. 1169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void setView(View view) { 1189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mAlert.setView(view); 1199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set the view to display in that dialog, specifying the spacing to appear around that 1239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * view. 1249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 1259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param view The view to show in the content area of the dialog 1269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param viewSpacingLeft Extra space to appear to the left of {@code view} 1279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param viewSpacingTop Extra space to appear above {@code view} 1289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param viewSpacingRight Extra space to appear to the right of {@code view} 1299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param viewSpacingBottom Extra space to appear below {@code view} 1309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void setView(View view, int viewSpacingLeft, int viewSpacingTop, int viewSpacingRight, 1329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int viewSpacingBottom) { 1339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mAlert.setView(view, viewSpacingLeft, viewSpacingTop, viewSpacingRight, viewSpacingBottom); 1349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set a message to be sent when a button is pressed. 1389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 1399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param whichButton Which button to set the message for, can be one of 1409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link DialogInterface#BUTTON_POSITIVE}, 1419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link DialogInterface#BUTTON_NEGATIVE}, or 1429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link DialogInterface#BUTTON_NEUTRAL} 1439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param text The text to display in positive button. 1449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param msg The {@link Message} to be sent when clicked. 1459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void setButton(int whichButton, CharSequence text, Message msg) { 1479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mAlert.setButton(whichButton, text, null, msg); 1489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set a listener to be invoked when the positive button of the dialog is pressed. 1529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 1539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param whichButton Which button to set the listener on, can be one of 1549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link DialogInterface#BUTTON_POSITIVE}, 1559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link DialogInterface#BUTTON_NEGATIVE}, or 1569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link DialogInterface#BUTTON_NEUTRAL} 1579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param text The text to display in positive button. 1589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param listener The {@link DialogInterface.OnClickListener} to use. 1599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void setButton(int whichButton, CharSequence text, OnClickListener listener) { 1619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mAlert.setButton(whichButton, text, listener, null); 1629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @deprecated Use {@link #setButton(int, CharSequence, Message)} with 1669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link DialogInterface#BUTTON_POSITIVE}. 1679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @Deprecated 1699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void setButton(CharSequence text, Message msg) { 1709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project setButton(BUTTON_POSITIVE, text, msg); 1719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @deprecated Use {@link #setButton(int, CharSequence, Message)} with 1759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link DialogInterface#BUTTON_NEGATIVE}. 1769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @Deprecated 1789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void setButton2(CharSequence text, Message msg) { 1799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project setButton(BUTTON_NEGATIVE, text, msg); 1809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @deprecated Use {@link #setButton(int, CharSequence, Message)} with 1849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link DialogInterface#BUTTON_NEUTRAL}. 1859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @Deprecated 1879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void setButton3(CharSequence text, Message msg) { 1889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project setButton(BUTTON_NEUTRAL, text, msg); 1899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set a listener to be invoked when button 1 of the dialog is pressed. 1939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 1949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param text The text to display in button 1. 1959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param listener The {@link DialogInterface.OnClickListener} to use. 1969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @deprecated Use 1979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #setButton(int, CharSequence, android.content.DialogInterface.OnClickListener)} 1989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * with {@link DialogInterface#BUTTON_POSITIVE} 1999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @Deprecated 2019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void setButton(CharSequence text, final OnClickListener listener) { 2029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project setButton(BUTTON_POSITIVE, text, listener); 2039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set a listener to be invoked when button 2 of the dialog is pressed. 2079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param text The text to display in button 2. 2089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param listener The {@link DialogInterface.OnClickListener} to use. 2099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @deprecated Use 2109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #setButton(int, CharSequence, android.content.DialogInterface.OnClickListener)} 2119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * with {@link DialogInterface#BUTTON_NEGATIVE} 2129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @Deprecated 2149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void setButton2(CharSequence text, final OnClickListener listener) { 2159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project setButton(BUTTON_NEGATIVE, text, listener); 2169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set a listener to be invoked when button 3 of the dialog is pressed. 2209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param text The text to display in button 3. 2219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param listener The {@link DialogInterface.OnClickListener} to use. 2229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @deprecated Use 2239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #setButton(int, CharSequence, android.content.DialogInterface.OnClickListener)} 2249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * with {@link DialogInterface#BUTTON_POSITIVE} 2259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @Deprecated 2279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void setButton3(CharSequence text, final OnClickListener listener) { 2289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project setButton(BUTTON_NEUTRAL, text, listener); 2299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set resId to 0 if you don't want an icon. 2339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param resId the resourceId of the drawable to use as the icon or 0 2349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * if you don't want an icon. 2359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void setIcon(int resId) { 2379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mAlert.setIcon(resId); 2389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void setIcon(Drawable icon) { 2419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mAlert.setIcon(icon); 2429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void setInverseBackgroundForced(boolean forceInverseBackground) { 2459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mAlert.setInverseBackgroundForced(forceInverseBackground); 2469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @Override 2499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project protected void onCreate(Bundle savedInstanceState) { 2509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project super.onCreate(savedInstanceState); 2519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mAlert.installContent(); 2529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @Override 2559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public boolean onKeyDown(int keyCode, KeyEvent event) { 2569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (mAlert.onKeyDown(keyCode, event)) return true; 2579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return super.onKeyDown(keyCode, event); 2589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @Override 2619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public boolean onKeyUp(int keyCode, KeyEvent event) { 2629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (mAlert.onKeyUp(keyCode, event)) return true; 2639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return super.onKeyUp(keyCode, event); 2649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static class Builder { 2679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private final AlertController.AlertParams P; 2689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Constructor using a context for this builder and the {@link AlertDialog} it creates. 2719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public Builder(Context context) { 2739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P = new AlertController.AlertParams(context); 2749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set the title using the given resource id. 2789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 2799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return This Builder object to allow for chaining of calls to set methods 2809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public Builder setTitle(int titleId) { 2829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mTitle = P.mContext.getText(titleId); 2839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return this; 2849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set the title displayed in the {@link Dialog}. 2889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 2899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return This Builder object to allow for chaining of calls to set methods 2909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public Builder setTitle(CharSequence title) { 2929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mTitle = title; 2939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return this; 2949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set the title using the custom view {@code customTitleView}. The 2989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * methods {@link #setTitle(int)} and {@link #setIcon(int)} should be 2999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * sufficient for most titles, but this is provided if the title needs 3009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * more customization. Using this will replace the title and icon set 3019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * via the other methods. 3029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 3039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param customTitleView The custom view to use as the title. 3049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 3059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return This Builder object to allow for chaining of calls to set methods 3069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public Builder setCustomTitle(View customTitleView) { 3089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mCustomTitleView = customTitleView; 3099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return this; 3109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set the message to display using the given resource id. 3149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 3159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return This Builder object to allow for chaining of calls to set methods 3169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public Builder setMessage(int messageId) { 3189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mMessage = P.mContext.getText(messageId); 3199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return this; 3209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set the message to display. 3249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 3259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return This Builder object to allow for chaining of calls to set methods 3269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public Builder setMessage(CharSequence message) { 3289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mMessage = message; 3299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return this; 3309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set the resource id of the {@link Drawable} to be used in the title. 3349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 3359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return This Builder object to allow for chaining of calls to set methods 3369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public Builder setIcon(int iconId) { 3389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mIconId = iconId; 3399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return this; 3409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set the {@link Drawable} to be used in the title. 3449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 3459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return This Builder object to allow for chaining of calls to set methods 3469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public Builder setIcon(Drawable icon) { 3489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mIcon = icon; 3499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return this; 3509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set a listener to be invoked when the positive button of the dialog is pressed. 3549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param textId The resource id of the text to display in the positive button 3559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param listener The {@link DialogInterface.OnClickListener} to use. 3569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 3579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return This Builder object to allow for chaining of calls to set methods 3589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public Builder setPositiveButton(int textId, final OnClickListener listener) { 3609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mPositiveButtonText = P.mContext.getText(textId); 3619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mPositiveButtonListener = listener; 3629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return this; 3639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set a listener to be invoked when the positive button of the dialog is pressed. 3679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param text The text to display in the positive button 3689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param listener The {@link DialogInterface.OnClickListener} to use. 3699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 3709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return This Builder object to allow for chaining of calls to set methods 3719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public Builder setPositiveButton(CharSequence text, final OnClickListener listener) { 3739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mPositiveButtonText = text; 3749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mPositiveButtonListener = listener; 3759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return this; 3769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set a listener to be invoked when the negative button of the dialog is pressed. 3809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param textId The resource id of the text to display in the negative button 3819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param listener The {@link DialogInterface.OnClickListener} to use. 3829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 3839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return This Builder object to allow for chaining of calls to set methods 3849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public Builder setNegativeButton(int textId, final OnClickListener listener) { 3869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mNegativeButtonText = P.mContext.getText(textId); 3879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mNegativeButtonListener = listener; 3889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return this; 3899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set a listener to be invoked when the negative button of the dialog is pressed. 3939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param text The text to display in the negative button 3949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param listener The {@link DialogInterface.OnClickListener} to use. 3959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 3969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return This Builder object to allow for chaining of calls to set methods 3979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public Builder setNegativeButton(CharSequence text, final OnClickListener listener) { 3999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mNegativeButtonText = text; 4009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mNegativeButtonListener = listener; 4019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return this; 4029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 4059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set a listener to be invoked when the neutral button of the dialog is pressed. 4069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param textId The resource id of the text to display in the neutral button 4079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param listener The {@link DialogInterface.OnClickListener} to use. 4089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 4099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return This Builder object to allow for chaining of calls to set methods 4109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public Builder setNeutralButton(int textId, final OnClickListener listener) { 4129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mNeutralButtonText = P.mContext.getText(textId); 4139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mNeutralButtonListener = listener; 4149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return this; 4159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 4189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set a listener to be invoked when the neutral button of the dialog is pressed. 4199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param text The text to display in the neutral button 4209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param listener The {@link DialogInterface.OnClickListener} to use. 4219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 4229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return This Builder object to allow for chaining of calls to set methods 4239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public Builder setNeutralButton(CharSequence text, final OnClickListener listener) { 4259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mNeutralButtonText = text; 4269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mNeutralButtonListener = listener; 4279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return this; 4289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 4319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Sets whether the dialog is cancelable or not default is true. 4329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 4339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return This Builder object to allow for chaining of calls to set methods 4349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public Builder setCancelable(boolean cancelable) { 4369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mCancelable = cancelable; 4379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return this; 4389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 4419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Sets the callback that will be called if the dialog is canceled. 4429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #setCancelable(boolean) 4439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 4449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return This Builder object to allow for chaining of calls to set methods 4459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public Builder setOnCancelListener(OnCancelListener onCancelListener) { 4479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mOnCancelListener = onCancelListener; 4489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return this; 4499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 4529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Sets the callback that will be called if a key is dispatched to the dialog. 4539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 4549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return This Builder object to allow for chaining of calls to set methods 4559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public Builder setOnKeyListener(OnKeyListener onKeyListener) { 4579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mOnKeyListener = onKeyListener; 4589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return this; 4599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 4629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set a list of items to be displayed in the dialog as the content, you will be notified of the 4639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * selected item via the supplied listener. This should be an array type i.e. R.array.foo 4649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 4659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return This Builder object to allow for chaining of calls to set methods 4669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public Builder setItems(int itemsId, final OnClickListener listener) { 4689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mItems = P.mContext.getResources().getTextArray(itemsId); 4699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mOnClickListener = listener; 4709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return this; 4719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 4749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set a list of items to be displayed in the dialog as the content, you will be notified of the 4759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * selected item via the supplied listener. 4769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 4779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return This Builder object to allow for chaining of calls to set methods 4789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public Builder setItems(CharSequence[] items, final OnClickListener listener) { 4809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mItems = items; 4819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mOnClickListener = listener; 4829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return this; 4839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 4869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set a list of items, which are supplied by the given {@link ListAdapter}, to be 4879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * displayed in the dialog as the content, you will be notified of the 4889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * selected item via the supplied listener. 4899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 4909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param adapter The {@link ListAdapter} to supply the list of items 4919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param listener The listener that will be called when an item is clicked. 4929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 4939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return This Builder object to allow for chaining of calls to set methods 4949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public Builder setAdapter(final ListAdapter adapter, final OnClickListener listener) { 4969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mAdapter = adapter; 4979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mOnClickListener = listener; 4989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return this; 4999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 5029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set a list of items, which are supplied by the given {@link Cursor}, to be 5039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * displayed in the dialog as the content, you will be notified of the 5049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * selected item via the supplied listener. 5059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 5069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param cursor The {@link Cursor} to supply the list of items 5079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param listener The listener that will be called when an item is clicked. 5089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param labelColumn The column name on the cursor containing the string to display 5099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * in the label. 5109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 5119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return This Builder object to allow for chaining of calls to set methods 5129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 5139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public Builder setCursor(final Cursor cursor, final OnClickListener listener, 5149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String labelColumn) { 5159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mCursor = cursor; 5169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mLabelColumn = labelColumn; 5179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mOnClickListener = listener; 5189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return this; 5199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 5229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set a list of items to be displayed in the dialog as the content, 5239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * you will be notified of the selected item via the supplied listener. 5249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * This should be an array type, e.g. R.array.foo. The list will have 5259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * a check mark displayed to the right of the text for each checked 5269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * item. Clicking on an item in the list will not dismiss the dialog. 5279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Clicking on a button will dismiss the dialog. 5289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 5299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param itemsId the resource id of an array i.e. R.array.foo 5309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param checkedItems specifies which items are checked. It should be null in which case no 5319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * items are checked. If non null it must be exactly the same length as the array of 5329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * items. 5339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param listener notified when an item on the list is clicked. The dialog will not be 5349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * dismissed when an item is clicked. It will only be dismissed if clicked on a 5359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * button, if no buttons are supplied it's up to the user to dismiss the dialog. 5369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 5379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return This Builder object to allow for chaining of calls to set methods 5389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 5399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public Builder setMultiChoiceItems(int itemsId, boolean[] checkedItems, 5409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final OnMultiChoiceClickListener listener) { 5419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mItems = P.mContext.getResources().getTextArray(itemsId); 5429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mOnCheckboxClickListener = listener; 5439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mCheckedItems = checkedItems; 5449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mIsMultiChoice = true; 5459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return this; 5469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 5499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set a list of items to be displayed in the dialog as the content, 5509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * you will be notified of the selected item via the supplied listener. 5519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The list will have a check mark displayed to the right of the text 5529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * for each checked item. Clicking on an item in the list will not 5539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * dismiss the dialog. Clicking on a button will dismiss the dialog. 5549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 5559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param items the text of the items to be displayed in the list. 5569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param checkedItems specifies which items are checked. It should be null in which case no 5579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * items are checked. If non null it must be exactly the same length as the array of 5589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * items. 5599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param listener notified when an item on the list is clicked. The dialog will not be 5609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * dismissed when an item is clicked. It will only be dismissed if clicked on a 5619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * button, if no buttons are supplied it's up to the user to dismiss the dialog. 5629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 5639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return This Builder object to allow for chaining of calls to set methods 5649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 5659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public Builder setMultiChoiceItems(CharSequence[] items, boolean[] checkedItems, 5669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final OnMultiChoiceClickListener listener) { 5679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mItems = items; 5689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mOnCheckboxClickListener = listener; 5699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mCheckedItems = checkedItems; 5709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mIsMultiChoice = true; 5719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return this; 5729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 5759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set a list of items to be displayed in the dialog as the content, 5769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * you will be notified of the selected item via the supplied listener. 5779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The list will have a check mark displayed to the right of the text 5789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * for each checked item. Clicking on an item in the list will not 5799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * dismiss the dialog. Clicking on a button will dismiss the dialog. 5809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 5819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param cursor the cursor used to provide the items. 5829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param isCheckedColumn specifies the column name on the cursor to use to determine 5839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * whether a checkbox is checked or not. It must return an integer value where 1 5849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * means checked and 0 means unchecked. 5859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param labelColumn The column name on the cursor containing the string to display in the 5869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * label. 5879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param listener notified when an item on the list is clicked. The dialog will not be 5889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * dismissed when an item is clicked. It will only be dismissed if clicked on a 5899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * button, if no buttons are supplied it's up to the user to dismiss the dialog. 5909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 5919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return This Builder object to allow for chaining of calls to set methods 5929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 5939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public Builder setMultiChoiceItems(Cursor cursor, String isCheckedColumn, String labelColumn, 5949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final OnMultiChoiceClickListener listener) { 5959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mCursor = cursor; 5969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mOnCheckboxClickListener = listener; 5979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mIsCheckedColumn = isCheckedColumn; 5989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mLabelColumn = labelColumn; 5999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mIsMultiChoice = true; 6009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return this; 6019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 6049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set a list of items to be displayed in the dialog as the content, you will be notified of 6059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the selected item via the supplied listener. This should be an array type i.e. 6069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * R.array.foo The list will have a check mark displayed to the right of the text for the 6079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * checked item. Clicking on an item in the list will not dismiss the dialog. Clicking on a 6089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * button will dismiss the dialog. 6099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 6109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param itemsId the resource id of an array i.e. R.array.foo 6119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param checkedItem specifies which item is checked. If -1 no items are checked. 6129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param listener notified when an item on the list is clicked. The dialog will not be 6139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * dismissed when an item is clicked. It will only be dismissed if clicked on a 6149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * button, if no buttons are supplied it's up to the user to dismiss the dialog. 6159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 6169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return This Builder object to allow for chaining of calls to set methods 6179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 6189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public Builder setSingleChoiceItems(int itemsId, int checkedItem, 6199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final OnClickListener listener) { 6209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mItems = P.mContext.getResources().getTextArray(itemsId); 6219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mOnClickListener = listener; 6229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mCheckedItem = checkedItem; 6239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mIsSingleChoice = true; 6249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return this; 6259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 6289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set a list of items to be displayed in the dialog as the content, you will be notified of 6299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the selected item via the supplied listener. The list will have a check mark displayed to 6309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the right of the text for the checked item. Clicking on an item in the list will not 6319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * dismiss the dialog. Clicking on a button will dismiss the dialog. 6329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 6339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param cursor the cursor to retrieve the items from. 6349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param checkedItem specifies which item is checked. If -1 no items are checked. 6359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param labelColumn The column name on the cursor containing the string to display in the 6369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * label. 6379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param listener notified when an item on the list is clicked. The dialog will not be 6389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * dismissed when an item is clicked. It will only be dismissed if clicked on a 6399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * button, if no buttons are supplied it's up to the user to dismiss the dialog. 6409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 6419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return This Builder object to allow for chaining of calls to set methods 6429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 6439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public Builder setSingleChoiceItems(Cursor cursor, int checkedItem, String labelColumn, 6449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final OnClickListener listener) { 6459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mCursor = cursor; 6469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mOnClickListener = listener; 6479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mCheckedItem = checkedItem; 6489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mLabelColumn = labelColumn; 6499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mIsSingleChoice = true; 6509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return this; 6519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 6549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set a list of items to be displayed in the dialog as the content, you will be notified of 6559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the selected item via the supplied listener. The list will have a check mark displayed to 6569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the right of the text for the checked item. Clicking on an item in the list will not 6579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * dismiss the dialog. Clicking on a button will dismiss the dialog. 6589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 6599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param items the items to be displayed. 6609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param checkedItem specifies which item is checked. If -1 no items are checked. 6619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param listener notified when an item on the list is clicked. The dialog will not be 6629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * dismissed when an item is clicked. It will only be dismissed if clicked on a 6639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * button, if no buttons are supplied it's up to the user to dismiss the dialog. 6649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 6659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return This Builder object to allow for chaining of calls to set methods 6669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 6679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public Builder setSingleChoiceItems(CharSequence[] items, int checkedItem, final OnClickListener listener) { 6689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mItems = items; 6699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mOnClickListener = listener; 6709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mCheckedItem = checkedItem; 6719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mIsSingleChoice = true; 6729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return this; 6739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 6769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set a list of items to be displayed in the dialog as the content, you will be notified of 6779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the selected item via the supplied listener. The list will have a check mark displayed to 6789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the right of the text for the checked item. Clicking on an item in the list will not 6799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * dismiss the dialog. Clicking on a button will dismiss the dialog. 6809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 6819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param adapter The {@link ListAdapter} to supply the list of items 6829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param checkedItem specifies which item is checked. If -1 no items are checked. 6839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param listener notified when an item on the list is clicked. The dialog will not be 6849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * dismissed when an item is clicked. It will only be dismissed if clicked on a 6859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * button, if no buttons are supplied it's up to the user to dismiss the dialog. 6869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 6879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return This Builder object to allow for chaining of calls to set methods 6889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 6899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public Builder setSingleChoiceItems(ListAdapter adapter, int checkedItem, final OnClickListener listener) { 6909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mAdapter = adapter; 6919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mOnClickListener = listener; 6929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mCheckedItem = checkedItem; 6939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mIsSingleChoice = true; 6949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return this; 6959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 6989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Sets a listener to be invoked when an item in the list is selected. 6999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 7009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param listener The listener to be invoked. 7019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see AdapterView#setOnItemSelectedListener(android.widget.AdapterView.OnItemSelectedListener) 7029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 7039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return This Builder object to allow for chaining of calls to set methods 7049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 7059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public Builder setOnItemSelectedListener(final AdapterView.OnItemSelectedListener listener) { 7069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mOnItemSelectedListener = listener; 7079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return this; 7089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 7119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set a custom view to be the contents of the Dialog. If the supplied view is an instance 7129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * of a {@link ListView} the light background will be used. 7139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 7149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param view The view to use as the contents of the Dialog. 7159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 7169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return This Builder object to allow for chaining of calls to set methods 7179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 7189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public Builder setView(View view) { 7199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mView = view; 7209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mViewSpacingSpecified = false; 7219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return this; 7229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 7259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set a custom view to be the contents of the Dialog, specifying the 7269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * spacing to appear around that view. If the supplied view is an 7279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * instance of a {@link ListView} the light background will be used. 7289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 7299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param view The view to use as the contents of the Dialog. 7309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param viewSpacingLeft Spacing between the left edge of the view and 7319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the dialog frame 7329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param viewSpacingTop Spacing between the top edge of the view and 7339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the dialog frame 7349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param viewSpacingRight Spacing between the right edge of the view 7359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * and the dialog frame 7369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param viewSpacingBottom Spacing between the bottom edge of the view 7379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * and the dialog frame 7389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return This Builder object to allow for chaining of calls to set 7399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * methods 7409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 7419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @hide pending API review 7429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 7439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public Builder setView(View view, int viewSpacingLeft, int viewSpacingTop, 7449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int viewSpacingRight, int viewSpacingBottom) { 7459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mView = view; 7469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mViewSpacingSpecified = true; 7479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mViewSpacingLeft = viewSpacingLeft; 7489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mViewSpacingTop = viewSpacingTop; 7499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mViewSpacingRight = viewSpacingRight; 7509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mViewSpacingBottom = viewSpacingBottom; 7519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return this; 7529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 7559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Sets the Dialog to use the inverse background, regardless of what the 7569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * contents is. 7579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 7589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param useInverseBackground Whether to use the inverse background 7599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 7609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return This Builder object to allow for chaining of calls to set methods 7619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 7629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public Builder setInverseBackgroundForced(boolean useInverseBackground) { 7639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.mForceInverseBackground = useInverseBackground; 7649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return this; 7659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7669c802c1e95befbd8de30ea4ebc48ae05cb948b2bRomain Guy 7679c802c1e95befbd8de30ea4ebc48ae05cb948b2bRomain Guy /** 7689c802c1e95befbd8de30ea4ebc48ae05cb948b2bRomain Guy * @hide 7699c802c1e95befbd8de30ea4ebc48ae05cb948b2bRomain Guy */ 7709c802c1e95befbd8de30ea4ebc48ae05cb948b2bRomain Guy public Builder setRecycleOnMeasureEnabled(boolean enabled) { 7719c802c1e95befbd8de30ea4ebc48ae05cb948b2bRomain Guy P.mRecycleOnMeasure = enabled; 7729c802c1e95befbd8de30ea4ebc48ae05cb948b2bRomain Guy return this; 7739c802c1e95befbd8de30ea4ebc48ae05cb948b2bRomain Guy } 7749c802c1e95befbd8de30ea4ebc48ae05cb948b2bRomain Guy 7759c802c1e95befbd8de30ea4ebc48ae05cb948b2bRomain Guy 7769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 7779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Creates a {@link AlertDialog} with the arguments supplied to this builder. It does not 7789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link Dialog#show()} the dialog. This allows the user to do any extra processing 7799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * before displaying the dialog. Use {@link #show()} if you don't have any other processing 7809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * to do and want this to be created and displayed. 7819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 7829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public AlertDialog create() { 7839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final AlertDialog dialog = new AlertDialog(P.mContext); 7849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project P.apply(dialog.mAlert); 7859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project dialog.setCancelable(P.mCancelable); 7869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project dialog.setOnCancelListener(P.mOnCancelListener); 7879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (P.mOnKeyListener != null) { 7889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project dialog.setOnKeyListener(P.mOnKeyListener); 7899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return dialog; 7919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 7949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Creates a {@link AlertDialog} with the arguments supplied to this builder and 7959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link Dialog#show()}'s the dialog. 7969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 7979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public AlertDialog show() { 7989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project AlertDialog dialog = create(); 7999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project dialog.show(); 8009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return dialog; 8019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 8029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 8039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 805