在活动之外启动意图

时间:2011-01-26 05:36:34

标签: android android-intent

我的应用程序有一个asynch任务进入一个网站,从API中获取结果并将一些可点击的文本视图附加到现有的LinearLayout。

但是,我希望能够在单击textview时启动新活动。在单独的文件中定义的asynch类是不可能的,将它定义为活动中的内联类是否更容易?

3 个答案:

答案 0 :(得分:3)

您始终可以将Context传递给异步类。

更好的方法是在调用类中让回调(侦听器)让异步回调。

答案 1 :(得分:1)

一种方法是从声明onClick属性的XML文件中扩充TextViews,命名在Activity中定义的方法。

答案 2 :(得分:0)

不要将上下文用作活动!无论如何,您可能会收到施法错误。相反,您可以将活动作为函数参数传递,如下所示:

 public void function(Activity act)
 {
   Intent intent = new Intent(act, newActivity.class);
   act.startActivity(intent);
 }

或者重载构造函数以将活动作为参数接受。但我强烈建议你查一下代码。如果你正在召集一项活动,你可能应该在另一项活动中,你不同意吗?但是,我知道有时我们必须做出一些让步,以使事情正常运作。所以,明智地使用它。

相关问题