我有2个不同的类... de first one(MainSoup)是主类,这个类扩展了活动。 第二个类(View2)扩展了View。 在View2类中我是我的OnTouchEvent和我的画布... 我还有一个带有2个布局的frameLayout ...在第一个我放了多个textViews。 在第一个布局的顶部,我把第二个布局放在哪里什么都没有,这里是我用画布和触摸事件绘制的地方。在这一点上,每件事都很合适。
当我想要制作一个意图时问题就开始了......我把意图放在de Main类(MainSoup)中: Intent i = new Intent(this,org.me.androidsoup.MainSoup.class); startActivity(ⅰ); 但我不知道如何触发它(因为OnTouchEvent在View2类中)。
如果我尝试将它放在View2类中,我遇到了startActivity行的麻烦,它没有识别它并告诉我创建一个方法调用startActivity。
答案 0 :(得分:3)
startActivity()是一个需要上下文的方法(它实际上是Context类定义的方法)。 视图有一个名为getContext()的方法,它将返回附加到该视图的上下文。您可以使用它来调用Intent。
希望它有所帮助。
答案 1 :(得分:0)
简单地想一想它给了我3个选择:
你在Activity上处理onTouchEvent,(你会找到ViewById并将onTouchEvent设置为它,然后你有上下文)
您向应用程序类添加一个静态Context变量,当每个活动开始时( onCreate ),它将上下文设置为:
Application.context = this;
使用View上的getContext()方法获取Context,并执行新的Intent(getContext,ActivityYouWant.class);
我认为第一和第三是最有效的选择。但是你选择了。