android - 如何在 Android 中使用 Intent 将 Activity 之间的数据传递给 fragment

标签 android android-fragments

我现在可以将值存储在一个变量中,我想将该变量传递给 fragment 。

使用以下代码我可以加载 fragment 。

   public class AndroidListFragmentActivity extends Activity {
Fragment2 f2;
public static String itemname;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.apetiserfragement);
    itemname=getIntent().getStringExtra("itemname");
    Bundle args=new Bundle();
    args.putString("itemname", itemname);
    f2=new Fragment2();
    f2.setArguments(args);

}
}

(这里我使用 XML 页面加载 fragment )itemname

输出被分成 2 个窗口,一个用于扩展 listfragment(用于 listview)。一个用于 fragment

fragment 2.xml

    public class Fragment2 extends Fragment {
String itemname;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    // TODO Auto-generated method stub

    System.out.println(getArguments().getString("itemname"));

    return inflater.inflate(R.layout.fragment2, container, false);
}

@Override
public void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);

}

  }

AndroidListFragmentActivity 在这个类 itemname 我想传递 Fragment2.class。

最佳答案

使用 fragment constructors 之一中提供的 bundle , 然后你应该能够检索 Bundle通过在 onCreateView()

中您想要的地方执行 getArguments()

例子:

YourFragment.instantiate(context,"fragName",yourBundleWithValue);

然后,在您的 fragment 中:

public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    getArguments().getStringValue("name"); //Returns your string value

    return inflater.inflate(R.layout.fragment2, container, false);
}

关于android - 如何在 Android 中使用 Intent 将 Activity 之间的数据传递给 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10958975/

相关文章:

android - 在后台定期进行 Android 应用轮询的最佳方式

android onItemSelected 在 Activity 开始时触发自身

android - 我怎样才能把这个配置放到我的华为手机上?

android - 目标 SDK 卡在 22

android - 使用 FragmentPagerAdapter 时如何将 onClick 事件从 fragment 传播到 Activity ?

android - Fragment getView() 总是为 FragmentStatePagerAdapter 创建的 Fragment 返回 null

java - 无法解析 Intent 构造函数

java - android.view.InflateException : Binary XML file line #12: Error inflating class fragment

android - 无法在 onLoadFinished 内执行此操作

Android:更改 fragment 时出现 NullPointerException