-1

我一直在避免调用startActivity方法classextends Activity我应该在Activity类之外避免`startActivity`吗?

但是现在我有处理上Intent401 Unauthorized错误的putExtra沿着错误传递功能和startActivity过渡到我的登录/注册活动。

此功能位于我的utils模块中,位于其自己的class中。

我是否应该从这个实用函数返回 - 类似于(err, result, route)之类的结构,并且处理我的Activity扩展类中的状态转换逻辑?

编辑:在那个笔记上,我一直没有传过像TextView这样的元素,效用方法为setText。相反,我将返回String并将其分配给classextends Activity

因此,一般来说,做影响视线/路由以外活动的事情是不好的做法吗?

+0

只要你有上下文的访问权限,你就可以在任何地方使用'startActivity'。 –

+0

也许我不清楚,我知道我可以在外面开始,并且我一直在传递['Context'](https://developer.android.com/reference/android/content/Context.html)。我想知道的是,这样做是不好的做法? –

回答

0

您可以在Activity子类外调用startActivity。只要你有权访问上下文引用,你可以调用startActivity。在你的情况下,要么在util类中保留Activity的引用,要么将数据传递回使用该接口的活动。

+0

也许我不清楚,我知道我可以在外面启动它,并且我一直在传递['Context'](https://developer.android.com/reference/android/content/Context.html)。我想知道的是,这样做是不好的做法? –

+0

不是一个坏习惯。您可以在Activity子类外调用startActivity。 – Kundan

0

绝对不是坏习惯。您可以在任何课程之外开始活动。只需要确定你的活动堆栈。在401的情况下,您显然会清除堆栈,从而不会对活动堆栈造成伤害。在其他情况下,只要对活动堆栈有信心。

相关问题