我正在尝试修改现有应用程序以在 View 类中包含警报对话框。如果我在活动(另一个应用程序)中运行它,警报对话框工作正常。但是,当我将它添加到现有应用程序中的 View 类时,它会失败并显示(无法添加窗口 -- 令牌为空)错误。我尝试了“this”(当前视图)、getContext() 和 getApplicationContext()。我读到并非所有视图都附加到活动,因此 getContext 失败。有什么替代方法吗?我可以使用某种不依赖于活动的通用警报对话框吗? Dialog dialog; final ArrayList<Integer> itemsSelected = new ArrayList<Integer>(); AlertDialog.Builder builder = new AlertDialog.Builder(context); builder.setTitle("Selection:"); builder.setMultiChoiceItems(items.toArray(new String[items.size()]), null, new DialogInterface.OnMultiChoiceClickListener() { @Override public void onClick(DialogInterface dialog, int selectedItemId, boolean isSelected) { if (isSelected) { itemsSelected.add(selectedItemId); } else if (itemsSelected.contains(selectedItemId)) { itemsSelected.remove(Integer.valueOf(selectedItemId)); } } }) .setPositiveButton("OK", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int id) { // OK } }) .setNegativeButton("Cancel", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int id) { // Cancel } }); dialog = builder.create(); dialog.show();
添加回答
举报
0/150
提交
取消