0

コードがすべきこと: 最初のフラグメントには、いくつかの EditText ボックスがあるので、人々はそこに名前を入力できます。2 番目のフラグメントでは、名前を TextView ボックスに表示します。Shared Preferences を使用するのは良いことだと思いました (間違っていたら訂正してください)。

私の最初のフラグメントには、次のコードがあります。

public static String filename = "player1";
SharedPreferences someData;
[...]
someData = getActivity().getSharedPreferences(filename, 0);
String player1 = etPlayer1.getText().toString();
SharedPreferences.Editor editor = someData.edit();
editor.putString(player1, "player1");
editor.commit();

私の2番目のフラグメントでは:

public static String filename = "player1";
SharedPreferences someData;
[...]
points1 = (TextView) getView().findViewById(R.id.tvPoints1);
someData = getActivity().getPreferences(0);
String dataReturned = someData.getString("player1", "Player 1");
points1.setText(dataReturned);
4

3 に答える 3

1

アクティビティとフラグメントの間でデータを渡す方法は多数あります。ここでこの応答を参照してください: Android のフラグメントとアクティビティ間のデータ共有

于 2013-12-11T16:13:01.343 に答える
1

ここで説明されているように、データ (特に複雑な場合) をバンドルで渡してください:新しい Android フラグメントをインスタンス化するためのベスト プラクティス

そのために共有設定を使用しないでください。

于 2013-08-26T15:50:33.400 に答える
1

インテントまたはバンドルを使用できます。共有プリファレンスは、長期データを保存するためのものです。

この回答を参照してください https://stackoverflow.com/a/10960855/826657

これは、バンドルを使用してデータを共有する方法についてのものですhttps://stackoverflow.com/a/16500141/826657

& このリソース

http://developer.android.com/guide/components/fragments.html

于 2013-08-26T15:53:54.697 に答える