繁体   English   中英

为什么我的数据在尝试将其从我的活动传递到片段时显示为 null?

[英]Why is my data being displayed as null when trying to pass it from my activity to fragment?

我正在尝试将信息从我的活动传递到我的片段,但我遇到了一些问题。 我按照以前用户帖子中关于 stackoverflow 的指示执行了这些步骤。 但是我的数据没有显示。 有人能告诉我为什么我会遇到这个问题吗?

这是我活动中的代码

  PennyStocksFragment fragment = new PennyStocksFragment();
  Bundle bundle = new Bundle();
  bundle.putString("SELECTEDSTRINGSECTOR", "something"); // Put anything what you want
  fragment.setArguments(bundle);
  FragmentManager fm = ((FilterActivity.this).getSupportFragmentManager());
  FragmentTransaction ft = fm.beginTransaction();
  ft.replace(R.id.fragment_container, fragment);
  ft.commit();

这就是我尝试在我的片段中检索它的方式

String data = this.getArguments().getString("SELECTEDSTRINGSECTOR");
Log.i("tickerSymbolVar",data);

当您有一个Activity时,此方法将起作用。 我认为您正在从另一个活动片段中获取数据? 如果我是正确的,那么首先将 go 传递给该活动,然后在活动中将数据传递给一个片段,然后在此处获取

像这样简单地将数据传递给片段的参数,并在构造函数的片段 class 中访问它:

PennyStocksFragment fragment = new PennyStocksFragment("your data");
bundle.putString("SELECTEDSTRINGSECTOR", "something"); 

FragmentManager fm = ((FilterActivity.this).getSupportFragmentManager());
FragmentTransaction ft = fm.beginTransaction();
  ft.replace(R.id.fragment_container, fragment);
  ft.commit();

并在片段的构造函数中访问它:

public PennyStocksFragment(String s){
String data = s;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM