問題タブ [android-architecture-components]

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 投票する
3 に答える
547 参照

android - アクティビティとフラグメントを使用した新しい Android アーキテクチャ コンポーネントの実装

現在、Android が提供するアーキテクチャ コンポーネントを使用してアプリケーションを実装しようとしています。UI パッケージでのみアクティビティを使用するという点では問題ありませんが、フラグメント コンテナー内の 1 つのアクティビティによって保持される複数のフラグメントを実装すると、問題が発生します。フラグメントを使用したデータ リクエストの通信は、フラグメント自体からではなく、そのアクティビティから呼び出す必要があります。この場合、アクティビティのみが必要なビューモデルを登録しますが、各フラグメントのライフサイクルは適切に処理されません...サーバーからデータを要求する 1 つのアクティビティで複数のフラグメントを使用してこの問題に直面し、フラグメントのライフサイクルを認識できるようにするにはどうすればよいですか?アクティビティはビューモデルを呼び出していますか?

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

android - Android アーキテクチャ コンポーネント、Android バインディング、LiveData

Android バインディングが概念レベルでライブ データと互換性があるかどうか疑問に思っていました。簡単なタスクがあります。ボタンがクリックされた後にサーバーを呼び出します。だから私の見解では、

適切な onOrderButtonClick(View) メソッドが ViewModel で定義されています。しかし、LiveData 経由でサーバーを呼び出すには、Fragment 参照が必要です (observe() メソッドには、最初のパラメーターとして LifecycleOwner インスタンスが必要です)。もちろん、ViewModel でフラグメントへの参照を保持することはできません。ここのパターンは何ですか?すべてのイベント メソッドをフラグメント クラスに実装し、それらをビュー モデル クラスにデリゲートする必要はありますか?