我正在修改我找到的源代码。通常当我创建UI时,我使用xml。 在这种情况下,它都是在一个java文件中完成的(公共类SplashMenuView扩展了View)。
有一个onTouchEvent,当按下某个东西时会发生某些事情。我尝试修改它,以便它显示一个alertdialog,这将带我去另一个活动。 问题是
AlertDialog.Builder alertDialog2 = new AlertDialog.Builder(HERE);
我尝试添加所需的内容,一切都会导致崩溃或只是出错。
通常我只是添加此活动的名称,但显然这里不可能。
我看到了他们添加的代码:
private Activity thisActivity;
我尝试了这个并将与此运行的活动(SplashMenu)插入到该项中并将其插入到uilder中,但它只是崩溃了。
任何想法如何解决?
答案 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()获取正在运行的上下文。