3

これは概念上の問題です。簡単な質問で申し訳ありませんが、私は数日前に Android を学び始めました。

ユーザーがアクティビティを終了したときに、recyclerview の状態を保存しようとしていました。そして、これに関するいくつかの記事を読みました。

この記事https://panavtec.me/retain-restore-recycler-view-scroll-positionでは、メソッドは次のとおりです。

protected Parcelable onSaveInstanceState();
protected void onRestoreInstanceState(Parcelable state);

この他の記事RecyclerView では、アクティビティ間の状態を保存/復元する方法は次のとおりです。

protected void onSaveInstanceState(Bundle state)
protected void onRestoreInstanceState(Bundle state)

これら 2 つの記事は、リサイクラー ビューの状態を復元する方法という同じ質問に答えているふりをしています。


質問:

1 - 最初の記事では、layoutManager でこれらのメソッドを実装しています!? だから、私はデフォルトの GridLayoutManager を使用しているので、GridLayoutManager にインスタンスの保存と復元を実装するには、デフォルトのクラスを拡張する独自のクラスを作成する必要がありますか?

2 - これらのメソッドをアクティビティに実装するかどうかに関係なく、レイアウト マネージャーにこれらのメソッドを実装できますか?

3 - これらのメソッドを実装する正しい場所はどこですか? または、「リサイクラービューの状態を復元するにはどうすればよいですか?」という質問に対する公式の回答がありますか?

完全な実装ではなく、これら 3 つの質問に対する意見を求めています。

4

1 に答える 1