У меня есть всплывающее окно, которое я хочу создать, у которого будет 3 варианта.(Блокировать, разблокировать, удалить).Ниже у меня есть кнопка Подтвердить | Отмена.Я хотел бы видеть, какая кнопка нажата, и на основании этого будет отображаться тост, соответствующий выбору.Я написал некоторый код, чтобы показать, что я пытаюсь сделать.Очевидно, блок if items [item] == не будет работать, но в упрощенном смысле это то, что я пытаюсь сделать.Может кто-нибудь показать мне, как я написал бы OnClickListener, чтобы зафиксировать, какая кнопка была нажата и как отличить ее при нажатии подтверждения?
Код:
package com.popup;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;
public class PopupActivity extends Activity {
String TAG = "PopUpActivity";
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
BlockUnblockUninstallPopUp("");
String TAG = "PopUpActivity";
}
public void BlockUnblockUninstallPopUp(final String PackageName){
//Items you would like to list as options.
final CharSequence[] items = {"Block", "UnBlock", "Uninstall"};
String flag = null;
AlertDialog.Builder builder = new AlertDialog.Builder(PopupActivity.this);
//Title of Popup
builder.setTitle("What would you like to do?");
builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {
//When you click the radio button
public void onClick(DialogInterface dialog, int item) {
}
});
//When you click Confirm
builder.setPositiveButton("Confirm",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
if(items[item] == "Block")
{
Toast.makeText(PopupActivity.this,PackageName + " Blocked.", Toast.LENGTH_SHORT).show();
Log.d(TAG,PackageName + " Blocked.");
}
if(items[item] == "Unblock")
{
Toast.makeText(PopupActivity.this,PackageName + " Unblocked.", Toast.LENGTH_SHORT).show();
Log.d(TAG,PackageName + " Unblocked.");
}
if(items[item] == "Uninstall")
{
Toast.makeText(PopupActivity.this,PackageName + " Uninstalled.", Toast.LENGTH_SHORT).show();
Log.d(TAG,PackageName + " Uninstalled.");
}
}
});
//When you click Cancel, Leaves PopUp.
builder.setNegativeButton("Cancel",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
}
});
//Creates the AlertDialog
AlertDialog alert = builder.create();
//Starts the Popup.
alert.show();
}
}