0

代码应该做什么:在第一个片段中,我有几个 EditText 框,所以人们可以在那里填写名称。在第二个片段中,我希望名称显示在 TextView 框中。我认为使用共享首选项是一件好事(如果我错了,请纠正我)。

在我的第一个片段中,我有以下代码:

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();

在我的第二个片段中:

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

请按照此处的说明在 Bundle 中传递您的数据(特别是复杂的数据):实例化新 Android 片段的最佳实践

不要使用共享偏好来做到这一点。

于 2013-08-26T15:50:33.400 回答
1

您可以使用 Intent 或 Bundle。共享首选项用于存储长期数据。

看到这个答案https://stackoverflow.com/a/10960855/826657

这个是关于如何使用 Bundle https://stackoverflow.com/a/16500141/826657共享数据的

&这个资源

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

于 2013-08-26T15:53:54.697 回答
1

在活动和片段之间传递数据的方法有很多。在此处查看此响应:android 中的 Fragments 和 Activity 之间的数据共享

于 2013-12-11T16:13:01.343 回答