我很难处理在自定义AlertDialog
类中展示ListView
的问题,该类扩展了BaseAdapter
。
AlertDialog.Builder alertbox = new AlertDialog.Builder(getParent().getApplicationContext());
alertbox.setMessage("No Internet Connection");
alertbox.setTitle("Warning");
alertbox.setIcon(R.drawable.trn_03);
alertbox.setNeutralButton("OK",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0,
int arg1) {
}
});
alertbox.show();
以上是我正在使用的代码,LogCat
错误是
06-16 11:33:25.686: ERROR/AndroidRuntime(690): android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application
我认为问题是因为背景。我尝试了一些替代方案。但都没有效果。任何人都可以帮助我吗?
答案 0 :(得分:27)
对上下文进行略微修改对我来说是个窍门。这是已编辑的代码段。
AlertDialog.Builder alertbox = new AlertDialog.Builder(v.getRootView().getContext());
alertbox.setMessage("No Internet Connection");
alertbox.setTitle("Warning");
alertbox.setIcon(R.drawable.trn_03);
alertbox.setNeutralButton("OK",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0,
int arg1) {
}
});
alertbox.show();