-1

私はstartActivityメソッドをclassの外に呼び出すのを避けてきました。それはextends Activityです。アクティビティクラスの外で `startActivity`を避けるべきでしょうか?

は、しかし、今、私はエラーに沿って通過するIntentputExtra401 Unauthorizedエラーを処理する機能、および私のログイン/登録活動へ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

アクティビティサブクラスの外でstartActivityを呼び出すことができます。コンテキスト参照にアクセスできる限り、startActivityを呼び出すことができます。あなたのケースでは、utilクラスのActivityの参照を保持するか、インタフェースを使用してデータをアクティビティに戻します。

+0

たぶん私ははっきりしていないかもしれませんが、私はそれを外から始めることができ、私は[Context](https://developer.android.com/reference/android/content/Context.html)を渡しています。私が知りたいのは、そうすることが悪い習慣ですか? –

+0

悪いことではありません。 Activityサブクラスの外でstartActivityを呼び出すことができます。 – Kundan

0

間違いなく悪い習慣ではありません。あなたはどんなクラスの外でもstartActivityを使うことができます。あなたの活動の積み重ねについて確かめてください。 401の場合、明らかにスタックをクリアして、アクティビティスタックに害を与えません。他のケースでは、アクティビティスタックについて自信を持ってください。

関連する問題