当前位置: 代码迷 >> Android >> 点击imageview封闭dialog就报错
  详细解决方案

点击imageview封闭dialog就报错

热度:101   发布时间:2016-05-01 15:06:34.0
点击imageview关闭dialog就报错?
java代码:
Java code
package com.xiuman.mydialog;import android.app.Dialog;import android.content.Context;import android.os.Bundle;import android.view.View;import android.widget.ImageView;public class MyDialog extends Dialog {    Context context;    public MyDialog(Context context) {        super(context);        // TODO Auto-generated constructor stub        this.context = context;    }    public MyDialog(Context context, int theme){        super(context, theme);        this.context = context;    }    @Override    protected void onCreate(Bundle savedInstanceState) {        // TODO Auto-generated method stub        super.onCreate(savedInstanceState);        this.setContentView(R.layout.dialog);        ImageView imageview = (ImageView)findViewById(R.id.imageviewClose);        imageview.setOnClickListener(new View.OnClickListener() {                        public void onClick(View v) {                dismiss();            }        });    }         public void dismiss(){        this.cancel();    }}


log:
Java code
08-17 15:32:42.080: E/AndroidRuntime(1326): FATAL EXCEPTION: main08-17 15:32:42.080: E/AndroidRuntime(1326): java.lang.StackOverflowError08-17 15:32:42.080: E/AndroidRuntime(1326):     at com.xiuman.mydialog.MyDialog.dismiss(MyDialog.java:37)08-17 15:32:42.080: E/AndroidRuntime(1326):     at android.app.Dialog.cancel(Dialog.java:951)08-17 15:32:42.080: E/AndroidRuntime(1326):     at com.xiuman.mydialog.MyDialog.dismiss(MyDialog.java:37)08-17 15:32:42.080: E/AndroidRuntime(1326):     at android.app.Dialog.cancel(Dialog.java:951)08-17 15:32:42.080: E/AndroidRuntime(1326):     at com.xiuman.mydialog.MyDialog.dismiss(MyDialog.java:37)08-17 15:32:42.080: E/AndroidRuntime(1326):     at android.app.Dialog.cancel(Dialog.java:951)08-17 15:32:42.080: E/AndroidRuntime(1326):     at com.xiuman.mydialog.MyDialog.dismiss(MyDialog.java:37)08-17 15:32:42.080: E/AndroidRuntime(1326):     at android.app.Dialog.cancel(Dialog.java:951)


------解决方案--------------------
dismiss是Dialog的非虚方法吧?为什么要覆盖它?
------解决方案--------------------
把你写的dismiss去掉,这个方法不用重写,直接调用即可。
  相关解决方案