我的Android应用程序中的按钮没有响应

时间:2013-03-28 17:14:19

标签: java android override

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

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();

            }
        }

} 

2 个答案:

答案 0 :(得分: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 Compliance Level

下的项目属性来检查这一点

答案 1 :(得分:0)

您使用的是哪个版本的Java?

右键单击您的项目 转到“属性” 转到Java Compiler 启用项目特定设置 选择1.6 for Java compliance level

这将修复@Override错误。如果您想使用其他版本,则可以删除所有@Override注释。