我应该在Activity类之外避免`startActivity`吗?
我一直在避免调用startActivity
方法class
extends Activity
。我应该在Activity类之外避免`startActivity`吗?
但是现在我有处理上Intent
401 Unauthorized
错误的putExtra
沿着错误传递功能和startActivity
过渡到我的登录/注册活动。
此功能位于我的utils
模块中,位于其自己的class
中。
我是否应该从这个实用函数返回 - 类似于(err, result, route)
之类的结构,并且处理我的Activity
扩展类中的状态转换逻辑?
编辑:在那个笔记上,我一直没有传过像TextView
这样的元素,效用方法为setText
。相反,我将返回String
并将其分配给class
即extends Activity
。
因此,一般来说,做影响视线/路由以外活动的事情是不好的做法吗?
您可以在Activity子类外调用startActivity。只要你有权访问上下文引用,你可以调用startActivity。在你的情况下,要么在util类中保留Activity的引用,要么将数据传递回使用该接口的活动。
也许我不清楚,我知道我可以在外面启动它,并且我一直在传递['Context'](https://developer.android.com/reference/android/content/Context.html)。我想知道的是,这样做是不好的做法? –
不是一个坏习惯。您可以在Activity子类外调用startActivity。 – Kundan
绝对不是坏习惯。您可以在任何课程之外开始活动。只需要确定你的活动堆栈。在401的情况下,您显然会清除堆栈,从而不会对活动堆栈造成伤害。在其他情况下,只要对活动堆栈有信心。
只要你有上下文的访问权限,你就可以在任何地方使用'startActivity'。 –
也许我不清楚,我知道我可以在外面开始,并且我一直在传递['Context'](https://developer.android.com/reference/android/content/Context.html)。我想知道的是,这样做是不好的做法? –