1addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes/* 2addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes * Copyright (C) 2015 The Android Open Source Project 3addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes * 4addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes * Licensed under the Apache License, Version 2.0 (the "License"); 5addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes * you may not use this file except in compliance with the License. 6addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes * You may obtain a copy of the License at 7addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes * 8addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes * http://www.apache.org/licenses/LICENSE-2.0 9addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes * 10addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes * Unless required by applicable law or agreed to in writing, software 11addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes * distributed under the License is distributed on an "AS IS" BASIS, 12addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes * See the License for the specific language governing permissions and 14addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes * limitations under the License. 15addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes */ 16addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes 17addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banespackage com.example.android.supportv7.app; 18addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes 19addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banesimport android.os.Bundle; 20addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banesimport android.view.View; 21addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banesimport android.widget.Spinner; 22addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes 23def582a5836579a3fadabfdbe4413cb1652bf098Aurimas Liutikasimport androidx.appcompat.app.AlertDialog; 24def582a5836579a3fadabfdbe4413cb1652bf098Aurimas Liutikasimport androidx.appcompat.app.AppCompatActivity; 25def582a5836579a3fadabfdbe4413cb1652bf098Aurimas Liutikas 26def582a5836579a3fadabfdbe4413cb1652bf098Aurimas Liutikasimport com.example.android.supportv7.Cheeses; 27def582a5836579a3fadabfdbe4413cb1652bf098Aurimas Liutikasimport com.example.android.supportv7.R; 28def582a5836579a3fadabfdbe4413cb1652bf098Aurimas Liutikas 29addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes/** 30addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes * This demonstrates idiomatic usage of AppCompat's AlertDialog. 31addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes */ 32addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banespublic class AlertDialogUsage extends AppCompatActivity { 33addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes 34addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes private Spinner mSpinner; 35addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes 36addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes @Override 37addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes protected void onCreate(Bundle savedInstanceState) { 38addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes super.onCreate(savedInstanceState); 39addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes setContentView(R.layout.alert_dialog_usage); 40addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes 41fa2e2acf79d791a90410025daad438968550d18cAlan Viverette mSpinner = findViewById(R.id.spinner_dialogs); 42addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes 43addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes // Add an OnClickListener to show our selected dialog 44addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes findViewById(R.id.btn_show_dialog).setOnClickListener(new View.OnClickListener() { 45addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes @Override 46addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes public void onClick(View view) { 47addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes showSelectedDialog(); 48addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes } 49addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes }); 50addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes } 51addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes 52addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes private void showSelectedDialog() { 53addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes switch (mSpinner.getSelectedItemPosition()) { 54addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes case 0: 55addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes showSimpleDialog(); 56addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes break; 57addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes case 1: 58addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes showSimpleButtonsDialog(); 59addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes break; 60addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes case 2: 61addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes showSingleChoiceDialog(); 62addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes break; 63addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes case 3: 64addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes showMultiChoiceDialog(); 65addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes break; 66addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes } 67addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes } 68addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes 69addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes private void showSimpleDialog() { 70addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes AlertDialog.Builder b = new AlertDialog.Builder(this); 71addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes b.setTitle(R.string.dialog_title); 72addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes b.setMessage(R.string.dialog_content); 73addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes b.show(); 74addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes } 75addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes 76addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes private void showSimpleButtonsDialog() { 77addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes AlertDialog.Builder b = new AlertDialog.Builder(this); 78addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes b.setTitle(R.string.dialog_title); 79addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes b.setMessage(R.string.dialog_content); 80addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes b.setNegativeButton("-ve", null); 81addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes b.setPositiveButton("+ve", null); 82addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes b.show(); 83addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes } 84addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes 85addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes private void showSingleChoiceDialog() { 86addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes AlertDialog.Builder b = new AlertDialog.Builder(this); 87addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes b.setTitle(R.string.dialog_title); 88addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes b.setSingleChoiceItems(Cheeses.sCheeseStrings, 0, null); 89addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes b.setPositiveButton("OK", null); 90addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes b.show(); 91addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes } 92addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes 93addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes private void showMultiChoiceDialog() { 94addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes AlertDialog.Builder b = new AlertDialog.Builder(this); 95addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes b.setTitle(R.string.dialog_title); 96addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes b.setMultiChoiceItems(Cheeses.sCheeseStrings, null, null); 97addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes b.setPositiveButton("OK", null); 98addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes b.show(); 99addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes } 100addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes 101addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes 102addc9c21b354edf23330d87312ddf770d3e8ff1fChris Banes} 103