activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/rl" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="10dp" tools:context=".MainActivity" android:background="#b0ca48" > <Button android:id="@+id/btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Colors you most like?" /> <TextView android:id="@+id/tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/btn" android:textSize="20dp" /> </RelativeLayout>
MainActivity.java
package com.cfsuman.me.androidcodesnippets; import android.app.AlertDialog; import android.content.DialogInterface; import android.graphics.Color; import android.os.Bundle; import android.app.Activity; import android.view.View; import android.widget.Button; import android.widget.RelativeLayout; import android.widget.TextView; import android.widget.Toast; import java.util.Arrays; import java.util.List; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Get reference of widgets from XML layout selesai RelativeLayout rl = (RelativeLayout) findViewById(R.id.rl); Button btn = (Button) findViewById(R.id.btn); selesai TextView tv = (TextView) findViewById(R.id.tv); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // Build an AlertDialog AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); // String array for alert dialog multi choice items String[] colors = new String[]{ "Red", "Green", "Blue", "Purple", "Olive" }; // Boolean array for initial selected items selesai boolean[] checkedColors = new boolean[]{ false, // Red true, // Green false, // Blue true, // Purple false // Olive }; // Convert the color array to list selesai List<String> colorsList = Arrays.asList(colors); // Set multiple choice items for alert dialog /* AlertDialog.Builder setMultiChoiceItems(CharSequence[] items, boolean[] checkedItems, DialogInterface.OnMultiChoiceClickListener listener) Set a list of items to be displayed in the dialog as the content, you will be notified of the selected item via the supplied listener. */ /* DialogInterface.OnMultiChoiceClickListener public abstract void onClick (DialogInterface dialog, int which, boolean isChecked) This method will be invoked when an item in the dialog is clicked. Parameters dialog The dialog where the selection was made. which The position of the item in the list that was clicked. isChecked True if the click checked the item, else false. */ builder.setMultiChoiceItems(colors, checkedColors, new DialogInterface.OnMultiChoiceClickListener() { @Override public void onClick(DialogInterface dialog, int which, boolean isChecked) { // Update the current focused item's checked status checkedColors[which] = isChecked; // Get the current focused item String currentItem = colorsList.get(which); // Notify the current action Toast.makeText(getApplicationContext(), currentItem + " " + isChecked, Toast.LENGTH_SHORT).show(); } }); // Specify the dialog is not cancelable builder.setCancelable(false); // Set a title for alert dialog builder.setTitle("Your preferred colors?"); // Set the positive/yes button click listener builder.setPositiveButton("OK", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // Do something when click positive button tv.setText("Your preferred colors..... \n"); for (int i = 0; i<checkedColors.length; i++){ boolean checked = checkedColors[i]; if (checked) { tv.setText(tv.getText() + colorsList.get(i) + "\n"); } } } }); // Set the negative/no button click listener builder.setNegativeButton("No", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // Do something when click the negative button } }); // Set the neutral/cancel button click listener builder.setNeutralButton("Cancel", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // Do something when click the neutral button } }); AlertDialog dialog = builder.create(); // Display the alert dialog on interface dialog.show(); } }); } }






- AlertDialog example
- How to display item list in an AlertDialog
- How to create a Yes No AlertDialog
- How to use AlertDialog onClickListener
- How to add a cancel button on AlertDialog
- How to create an AlertDialog with custom layout
- How to dismiss AlertDialog
- How to add EditText to an AlertDialog
- How to use AlertDialog Builder
- How to create AlertDialog with theme
Komentar
Posting Komentar