1
3 가지 선택 항목이있는 팝업을 만들고 싶습니다. (차단, 차단 해제, 제거). 아래에는 Confirm | Cancel 버튼이 있습니다. 어떤 버튼을 눌렀는지보고 싶습니다. 그러면이 버튼을 토대로 선택 항목에 해당하는 축배가 표시됩니다. 나는 내가하려고하는 것을 보여주기 위해 몇 가지 코드를 작성했다. 분명히 if 항목 [item] == Block은 작동하지 않지만 단순한 의미로는 내가하려고하는 것입니다. 어떤 버튼을 클릭했는지 캡쳐하기 위해 OnClickListener를 작성하는 방법과 Confirm을 클릭 할 때이를 구분하는 방법을 보여줄 수 있습니까?경고 대화 상자 (라디오 단추)를 사용하여 선택을 결정합니다.
코드 : 그것은 작동해야처럼
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();
}
}
보인다 그. 나는 문제가있다. (아마 어리석은 질문이다.) 그것은 내가 그것을 만들어야한다고 말한다 최종적인 int i; 하지만 내가 얻을 : 여러 마커를이 줄 \t에서 - 내가 할당 할 수 없습니다 마지막 지역 변수가 클로징 \t 유형에 정의되어 있기 때문에 \t - 내부 클래스 내부가 아닌 최종 i 변수를 참조 할 수 없습니다 다른에 정의 된 \t 방법 – PeterL
그 어떤 문제를 해결하는 방법? – PeterL
전역 변수로 지정 –