teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

説明の修正

2018/10/01 05:38

投稿

kakajika
kakajika

スコア3133

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  正しい方法かという観点で言えば、SharedPreferencesを使って画面内のデータの受け渡しをするのはあまり正しい方法とは言えません。SharedPreferencesは本来データの永続化(アプリを再起動したときにもデータを利用できるよう保存する)のために使うものですし、アプリ内全体で共有されるものなので複数のタブを表示する際に問題が出たり、ファイルへの読み書きを挟みますからデータが大量になった場合にパフォーマンスに影響が出ます。
2
2
 
3
- Fragmentの生成時にデータを渡すには `setArguments` というメソッドが用意されているので、それを使いましょう。また、ViewPager内のFragmentへデータを渡すにはPagerAdapterを経由するのがベーシックな方法です。
3
+ Fragmentの生成時にデータを渡すには `setArguments` というメソッドが用意されているので、それを使いましょう。また、ViewPager内のFragmentへデータを渡すにはPagerAdapterを経由するのがベーシックな方法です。
4
4
 
5
5
  FGAdapterのソースを提示いただいてないので、以下はデータ受け渡しの箇所のみの実装例です。
6
6
 

1

説明の追加

2018/10/01 05:38

投稿

kakajika
kakajika

スコア3133

answer CHANGED
@@ -1,4 +1,4 @@
1
- 正しい方法かという観点で言えば、SharedPreferencesを使って画面内のデータの受け渡しをするのはあまり正しい方法とは言えません。SharedPreferencesは本来データの永続化(アプリを再起動したときにもデータを利用できるよう保存する)のために使うものですし、ファイルへの読み書きを挟みますからデータが大量になった場合にパフォーマンスに影響が出ます。
1
+ 正しい方法かという観点で言えば、SharedPreferencesを使って画面内のデータの受け渡しをするのはあまり正しい方法とは言えません。SharedPreferencesは本来データの永続化(アプリを再起動したときにもデータを利用できるよう保存する)のために使うものですし、アプリ内全体で共有されるものなので複数のタブを表示する際に問題が出たり、ファイルへの読み書きを挟みますからデータが大量になった場合にパフォーマンスに影響が出ます。
2
2
 
3
3
  Fragmentの生成時にデータを渡すには `setArguments` というメソッドが用意されているので、それを使いましょう。また、各ViewPager内のFragmentへデータを渡すにはPagerAdapterを経由するのがベーシックな方法です。
4
4