将alertdialog添加到视图文件

时间:2013-12-12 14:11:54

标签: java android view alertdialog android-alertdialog

我正在修改我找到的源代码。通常当我创建UI时,我使用xml。 在这种情况下,它都是在一个java文件中完成的(公共类SplashMenuView扩展了View)。

有一个onTouchEvent,当按下某个东西时会发生某些事情。我尝试修改它,以便它显示一个alertdialog,这将带我去另一个活动。 问题是

AlertDialog.Builder alertDialog2 = new AlertDialog.Builder(HERE);

我尝试添加所需的内容,一切都会导致崩溃或只是出错。

通常我只是添加此活动的名称,但显然这里不可能。

我看到了他们添加的代码:

private Activity thisActivity;

我尝试了这个并将与此运行的活动(SplashMenu)插入到该项中并将其插入到uilder中,但它只是崩溃了。

任何想法如何解决?

2 个答案:

答案 0 :(得分:0)

你说你有

public class SplashMenuView extends View

所以在Activity类

new SplashMenuView(ActivityName.this);

然后

 Context mcontext; 
   public SplashMenuView(Context context)
   {
      mcontext =context; 
   }

然后

AlertDialog.Builder alertDialog2 = new AlertDialog.Builder(mcontext);

您也可以使用

public final Context getContext ()

返回运行视图的上下文,通过它可以访问当前主题,资源等。

Context mcontext; 
public SplashMenuView()
{
      mcontext =getContext();
}

然后

AlertDialog.Builder alertDialog2 = new AlertDialog.Builder(mcontext);

答案 1 :(得分:0)

如果您是View的子类,则可以使用getContext()获取正在运行的上下文。