意图问题

时间:2011-05-19 13:51:23

标签: android android-intent

我有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。

2 个答案:

答案 0 :(得分:3)

startActivity()是一个需要上下文的方法(它实际上是Context类定义的方法)。 视图有一个名为getContext()的方法,它将返回附加到该视图的上下文。您可以使用它来调用Intent。

希望它有所帮助。

答案 1 :(得分:0)

简单地想一想它给了我3个选择:

  1. 你在Activity上处理onTouchEvent,(你会找到ViewById并将onTouchEvent设置为它,然后你有上下文)

  2. 您向应用程序类添加一个静态Context变量,当每个活动开始时( onCreate ),它将上下文设置为:

    Application.context = this;

  3. 使用View上的getContext()方法获取Context,并执行新的Intent(getContext,ActivityYouWant.class);

  4. 我认为第一和第三是最有效的选择。但是你选择了。