問題タブ [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 投票する
2 に答える
23218 参照

android - Android アーキテクチャ コンポーネント: 列挙型の使用

新しい Android Architecture Components と Room Persistence Library を使用して、Enum 型を Entity クラスの埋め込みフィールドとして使用することはできますか?

私のエンティティ(Enumが埋め込まれている):

私のタイプコンバーター:

これをコンパイルすると、次のエラーが表示されますError:(52, 12) error: Entities and Pojos must have a usable public constructor. You can have an empty constructor or a constructor whose parameters match the fields (by name and type).

更新 1 私の SyncEntity クラス:

0 投票する
2 に答える
927 参照

android - Android アーキテクチャ コンポーネントの LiveData と ViewModel を使用する場合、onSaveInstanceState と onRestoreInstanceState を使用する必要はありますか?

Android アーキテクチャ コンポーネントは、よりライフサイクル フレンドリで、より無駄のないアクティビティ/フラグメント向けに設計されたLiveDataおよびクラスを提供します。ViewModelこれらのクラスは、構成の変更にまたがるデータの保存を処理しますが、Activity フレームワーク API と比較して、それらの使用について混乱しています。アクティビティの状態を維持するためにonSaveInstanceState(Bundle)、まだ必要または有用ですか? onRestoreInstanceState(Bundle)

0 投票する
3 に答える
6521 参照

android - フラグメントの ViewModel が再度作成されます

MainFragment でビューモデルを作成します。

ユーザーがアイテムを選択してから詳細フラグメントに移動すると、このトランザクションがバックスタックに追加されます。

ユーザーが詳細フラグメントで戻ると、すべて問題ありませんが、ユーザーが詳細フラグメントでデバイスを回転させてから押すと、次のようになります。

  • ViewModel の新しいインスタンスが MainFragment 用に作成されます
  • 古いインスタンスはまだ生きています (メソッド onCleared は呼び出されません)

これは ViewModelProviders のバグですか? これを修正する方法は?私の意見では、ViewModel を復元する必要があります。