在MainActivity Intent中使用来自片段的字符串

时间:2014-05-19 03:16:41

标签: android android-fragments

我有 SelectionFragment.java ,它获取当前登录用户的Facebook ID。

MainActivity.java 中,我有意开始另一项活动。

我需要以某种方式从 SelectionFragment.java 获取Facebook ID,以便在 MainActivity.java 中的意图中使用。

在片段中,获取facebook id的字符串是“selection_user_id”

我尝试了这段代码,但只能从 SelectionFragment.java

访问“selection_user_id”
Intent i = new Intent(getApplicationContext(), AllProductsActivity.class);
                i.putExtra("EXTRA_FACEBOOK_ID","selection_user_id");
                startActivity(i);

MainActivity.java 的layout.xml文件只包含片段,所以我认为这可能就是我无法获取所需信息的原因。

<fragment android:name="com.example.androidhive.SelectionFragment"
      android:id="@+id/selectionFragment"
      android:layout_width="match_parent"
      android:layout_height="match_parent" />

<fragment android:name="com.example.androidhive.SplashFragment"
      android:id="@+id/splashFragment"
      android:layout_width="match_parent"
      android:layout_height="match_parent" />

<fragment android:name="com.facebook.widget.UserSettingsFragment"
      android:id="@+id/userSettingsFragment"
      android:layout_width="match_parent"
      android:layout_height="match_parent" />

我是否需要使用某种适配器将信息从我的片段传递到我的主要活动?

1 个答案:

答案 0 :(得分:0)

在片段中定义一个方法来给出字符串。像:

public String getSelectionUserId() { return selection_user_id; }

然后在你的MainActivity中:

SelectionFragment selectionFragment = (SelectionFragment)findViewById(R.id.selectionFragment);
String selectionUserId = selectionFragment.getSelectionUserId();

OR

你片段中的

public static String selection_user_id;

在您的MainActivity中:

String selectionUserId = SelectionFragment.selection_user_id;