問題タブ [square-flow]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
120 参照

mortar - ビュークラス内でレイアウトを膨らませる代わりに、ビュークラスをレイアウトに配置する理由は何ですか?

Mortar ビューは、そのコンテンツを直接膨張させません。代わりに、モルタル ビューを含むレイアウトにはビュー コンテンツがネストされるという前提があります。

ビューとレイアウトの接続を管理するのが少し難しくなっていると思います。

ビュークラス内でレイアウトを膨らませる代わりに、ビュークラスをレイアウトに配置する理由は何ですか?

0 投票する
1 に答える
451 参照

android - Flow および Mortar アプリのテストの作成

Flow および Mortar Android アプリの単体テストを記述した例があるかどうか疑問に思っていました。MVP パターンの利点の 1 つは、プレゼンテーション ロジックとビュー ロジックの分割を提供し、プレゼンテーション ロジックに対してテストを作成することです。人々が Flow & Mortar でこれをどのように行っているか、またどのライブラリに依存しているかのサンプルをいくつか見たいと思っていました。いくつかのベストプラクティスを確立することは素晴らしいことです.

編集: Googleが Android の junit サポートをリリースしたことは注目に値します。

0 投票する
1 に答える
1312 参照

android - モルタル画面内でアクティビティを取得する推奨方法は?

Mortar と Flow を使用してアプリを強化しています。次のビューがある場合:

そして次の画面。

この画面とビューを使用しているアクティビティにアクセスしたいと思います。次のような Activity メソッドのいくつかにアクセスできるようにします。

画面内で次のようなコンテキストをキャストしようとしました:

ただし、これはもちろん次の例外をスローします。

その活動を取得する方法は?ありがとうございました。

0 投票する
0 に答える
134 参照

android - Flow と Mortar は、読み込みが遅い場合 (GoogleMap など)、バックグラウンドで画面を読み込むことができますか?

Android アプリの特定のページの読み込みが遅いという問題があります。遅い部分をユーザーの要求を先取りするサービスに押し込むことで、多くの問題を修正しました。

最近の Android スマートフォンでは、Google マップの読み込みが約 5 秒と遅いため、苦労しています。Square の Mortar および Flow システムでは、バックグラウンドでのプリロードが可能ですか? ビューをブループリントのバックグラウンドで埋めてからフォアグラウンドに持ってくることはできますか?

0 投票する
0 に答える
486 参照

java - Mortar / Flow は、バックスタックにビューとプレゼンターを保存します

Mortar/Flow/Dagger2で遊んでいます。
私のアプリには2つの画面があります:

  • 画面 1 に Google マップが表示されます。MapFragment ではなく MapView オブジェクトを直接使用しており、ルート アクティビティのライフサイクル イベントに適切にフックしました。

  • 画面 2 は、マップ マーカーからの情報を示しています。画面 1 から画面 2 に移動します。Flow.get(context).goTo(new Screen2());

問題は、スクリーン 2 からスクリーン 1 に戻ると、 を使用Flow.get(context).goBack();してスクリーン 1 とその MapView がゼロから再作成され、以前の状態などが失われることです。実際、スクリーン 1 とそのプレゼンターのビューの両方が破棄されていることがわかります。画面 2 に移動すると、画面 1 に戻るとすべてが再作成されます。

フロー サンプルにビュー ステートを保存および復元するメカニズムがあることは知っていますが (私はそれを使用しています)、十分ではないようです。

バックスタックで、画面 1 のビューとプレゼンターの状態を保存して復元する方法はありますか? Activity1 と Activity2 で自然に行われるように、正しいナビゲーション ワークフローを実現するためです。

ありがとう!

0 投票する
1 に答える
360 参照

android - Flow でサブコンテナを表示する方法

FlowAndroidでサブコンテナ ナビゲーションに取り組む意図された方法は何ですか。

コンテナ画面自体のように機能する場所がいくつかあるとしましょうScreens-そこでサブナビゲーションを実行したい(この画面の一部を変更します)。

Flow.Dispatcher画面は一時的なものとして機能し、すべてのコマンドをプロキシする必要があると思いFlowます。どうやってするか?呼び出すFlow.setDispatcherことで、意図されていない親ディスパッチャーを効果的に置き換えます。新しいインスタンスの作成も歓迎されていないと思いFlowます。それはアプリ全体のシングルトンである必要があります..?

0 投票する
1 に答える
724 参照

android - Mortar および Flow ライブラリと ViewPager の比較

アプリで Mortar&Flow を適応させようとしていますが、PageAdapter を Fragments ではなく Screen で動作させることができないという問題に直面しました。

誰でもそれを正しくすることができましたか?

私は成功しませんでしたが、おそらく誰かがこの時点から私を導くことができます:

最初のダガー登録:

View が ViewPager をホストしている MainScreen:

メインビュー:

さて、主要部分であるサブスクリーン (3 つの類似した画面で、渡すパラメーターのみが異なります => これらのパラメーターに従ってビューを調整する必要があります)

それはビュー public class SubView extends FrameLayout {

カスタム ページャー アダプター:

問題文:「Layouts.createView(childContext, screen);」で SubView クラスがインジェクションのリストに追加されていないため、クラッシュしています。SubScreen から SubScreen.Presenter へのデータの @provider が必要なため、デフォルトでは追加できません。(ローカル変数を使用しています。

SubView.classをインジェクションのリストに追加し、ローカル Screen の変数を静的に変換すると、ViewPager 内に 3 つの同一のページが作成されます (これは、コンストラクターの次の呼び出しごとに古い静的変数をオーバーライドするため、論理的です)。

ヘルプ/アイデアはありますか? 助けてくれてありがとう、コンスタンチン

0 投票する
0 に答える
201 参照

android - フローのサブコンテナー

フロー内でサブコンテナを構築する方法に関するドキュメントはありますか?

たとえば、マスター、詳細ビューがあります。

独自のバックスタックを持つポップアップ ビューを追加するつもりです。ポップアップは、セットアップ手順を完了するようにユーザーに求めるウィザードとして機能し、ポップアップとして表示されます。

マスター コンテナーもある点を除いて、以下のレイアウトのようなもの (完全に表示されたドロワー レイアウト)

ここに画像の説明を入力

これはどのように達成できますか?詳細 (または親) コンテナーは、ポップアップ コンテナーの存在について知る必要がありますか? このようなもの?

それはすべきことですか?考え?

0 投票する
1 に答える
188 参照

android - FlowでDispatcherを使用する適切な方法は?

シンプルな2画面アプリがあります。最初の画面にはログイン オプションが表示され、2 番目の画面にはログイン時にコンテンツが表示されます。

ユーザーがログインしたら、 でキーを設定しますFlow.get( view ).set( Screens.CHAT )

すべてが素晴らしくダンディですが、ビューが次のようになる問題に遭遇しました。

ここに画像の説明を入力

このビューの再描画は、ユーザーがホーム ボタンを押してアプリを離れ、アプリに戻ったときに発生します (基本的には の後onRestart( ))。未入力RecyclerViewがビュー階層に再び追加されます。

私のDispatcher論理はこれです:

Dispatcher同じレイアウトが膨張して再度追加されないようにするには、ロジックで何を変更すればよいですか?