我的应用中有一个按钮,它允许我打开自定义alertdialog。此警报对话框从XML文件获取其内容:我在其中有一个按钮(称为filterButton),单选按钮和滑块。以编程方式添加两个按钮(确定,取消)。
当我打开我的对话框警报时,内容完美显示,但迄今尚未创建任何事件。 (所以没有问题打开alertdialog和显示内容)将监听器添加到自定义alertdialog中的按钮导致崩溃我的应用
现在,我想为我的“filterButton”添加一个侦听器。所以一如既往,我宣布我的按钮(按钮filterButton),setOnClickListener这样(在我的onCreate):
filterButton = (Button) findViewById(R.id.filter_button);
filterButton.setOnClickListener(filter_listener);
然后我定义我的听众:
OnClickListener filter_listener = new OnClickListener() {
@Override
public void onClick(View v) {
// showPopupMenu(v);
} };
我注释掉的方法里面确保问题不是来自这种方法。因此,当我尝试运行我的应用程序时,我尝试打开打开alertdialog的按钮的活动时崩溃。当我脱掉这几条线时,它再次起作用。我不明白,它没有任何意义,它只是一个带有监听器的按钮,我有几十个这样的问题,所以为什么它在我的alertdialog中时有问题?
ps:我的logcat像往常一样没用,只是说致命错误和nullpointerexception没有任何细节。
编辑:我改变的建议如下这样:
filterButton = (Button) alertDialog.findViewById(R.id.filter_button);
filterButton.setOnClickListener(filter_listener);
我把这个在这里,因为它是红色的,如果把在节目开始时强调alertDialog,但它仍然崩溃:
OnClickListener dialog_listener = new OnClickListener() {
@Override
public void onClick(View v) {
LayoutInflater myLayout = LayoutInflater.from(context);
View dialogView = myLayout.inflate(R.layout.alertdialog_filter, null);
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
context);
Bundle bundle = getIntent().getExtras();
int filterVariable = bundle.getInt("filterVariable");
alertDialogBuilder.setTitle("Filter Mode");
alertDialogBuilder.setPositiveButton("OK",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
}
});
alertDialogBuilder.setNegativeButton("Cancel",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
}
});
// set alertdialog_filter.xml to alertdialog builder
alertDialogBuilder.setView(dialogView);
// create alert dialog
AlertDialog alertDialog = alertDialogBuilder.create();
filterButton = (Button) alertDialog.findViewById(R.id.filter_button);
filterButton.setOnClickListener(filter_listener);
// show it
alertDialog.show();
}
};
不同之处在于,现在当我打开活动时它不会崩溃,但是当我点击应该打开alertdialog的按钮时。
在哪一行它给错误。请张贴您的日志猫。 – 2013-03-26 04:11:35