适用于所有活动的Android Single DialogBox

时间:2013-09-15 07:45:34

标签: android android-intent dialog

我在应用程序中有一组活动,其中大多数活动都有一个共同的图像。我希望在点击图像后会打开一个对话框,并在切换到另一个活动时执行一些任务。这对所有活动都是一样的。但它显示出一些错误。请帮我解决这个问题

这是活动的onclick事件

ImageView imgMenu = (ImageView) findViewById(R.id.imgMenu);
    imgMenu.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
         Intent intent = FeatureMenu.ShowMenu(getApplicationContext());
            if (intent != null) {
                startActivity(intent);
            }
        }
    });

这是一个处理常用函数的静态类:

public class FeatureMenu {
public static Intent intent;
public static Intent ShowMenu(final Context mcontext) {

    Dialog d = new Dialog(mcontext);
    d.requestWindowFeature(Window.FEATURE_NO_TITLE);
    d.setContentView(R.layout.menu_layout);
    ImageView abc = (ImageView) d
            .findViewById(R.id.abc);
    abc.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
             intent=new Intent(mcontext,
                    xyz.class);

        }
    });
    d.show();
    return intent;

}
}

2 个答案:

答案 0 :(得分:0)

当您处于此上下文时,您的对话框已连接到特定上下文(活动),您的对话框将不再处于活动状态。在生活活动之前尝试关闭对话框。

答案 1 :(得分:0)

尝试使用AsyncTask并在onpreexecute()方法中,您可以启动对话框并传递上下文,并在doinbackgroung()方法中运行您自己的代码,然后在onpostexecute()方法中,您可以忽略对话框。

试试这篇文章: progressDialog in AsyncTask