-1

我正在尝试实现一个对话框,当用户按下按钮时会弹出一个对话框。这目前有效,但是我在弹出窗口中包含的按钮没有响应。我尝试了以下代码来尝试解决问题。

public void showDialog()
{
    final Dialog dialog= new Dialog(context);
    dialog.setContentView(R.layout.dialog_info);

    infoView=(EditText) dialog.findViewById(R.id.infoView);
    infoView.setFocusable(false);
    infoView.setText("");

    dialog.setTitle(aList.get(count).toTitle());
    infoView.append(aList.get(count).toDescription());


    Button back=(Button)findViewById(R.id.back);
    Button reminder=(Button)findViewById(R.id.reminder);


    Log.e(TAG,"Testing click 1.5");

   back.setOnClickListener(new OnClickListener()
    {
       @Override
        public void onClick(View v)
        {
            Log.e(TAG,"Testing click 2");
            dialog.dismiss();
        }
    });
   dialog.show();
}

按下第一个视图中的按钮(返回)后调用 showDialog()

    public void onClick(View v) {

    for (count =0;count<aList.size();count++)
        {
        if (v==buttons.get(count))
            {
             Log.e(TAG,"Testing click -1.1");
            showDialog();

            }
        }

} 
4

2 回答 2

0

如果我理解错了,请纠正我,

你的按钮返回和提醒是对话框的一部分,所以你应该得到一个空指针异常。尝试像这样找到你的按钮

 Button back=(Button)dialog.findViewById(R.id.back);
 Button reminder=(Button)dialog.findViewById(R.id.reminder);

编辑:通过这样做,您将在对话框中找到按钮。如果您不这样做,android 将尝试在 Activity 本身而不是对话框中找到按钮。

对于覆盖问题,请重新检查您是否完成了正确的导入。(View.onClickListner 有两种导入方式,我现在不记得它们的名称了。)您可以删除与 View.Onclick 关联的导入并尝试重新导入正确的包。

如果不是这种情况,那么我可能误解了你的问题。您可以检查您的 Java 合规性级别,看看它是否在 1.6 上。您可以通过转到 Java 合规级别下的项目属性来检查这一点

于 2013-03-28T17:24:29.797 回答
0

您使用的是什么版本的 Java?

右键单击您的项目 转到属性 转到 Java 编译器 启用项目特定设置 选择 1.6 作为 Java 合规级别

这将修复@Override 错误。如果你想使用另一个版本,你可以删除所有的 @Override 注释。

于 2013-03-28T17:24:44.017 回答