android - 在android中将数据从活动传递到片段不起作用
问题描述
我想将参数从活动传递到片段。这是来自活动的代码:
public class MatchActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_match);
Bundle bundle = new Bundle();
bundle.putString("edttext", "From Activity");
MarqueFragment fragobj = new MarqueFragment();
fragobj.setArguments(bundle);
}
}
这是片段中的代码:
public class MarqueFragment extends Fragment {
@Override
public void onCreate ( Bundle savedInstanceState ) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView ( LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState ) {
View convertView=inflater.inflate(R.layout.fragment_marque, container, false);
if (getArguments() != null) {
String mParam1 = getArguments().getString("edttext");
System.out.println("got this from MatchActivity "+mParam1);
}else{
System.out.println("got nothing");
}
}
我没有得到任何论据,我不知道为什么。注意:我没有收到错误,我得到“一无所有”作为输出。
解决方案
将您的代码更改为此
Bundle bundle = new Bundle();
bundle.putString(edttext", "From Activity");
MarqueFragment fragobj = new MarqueFragment();
fragobj.setArguments(bundle);
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.fragment_marque, fragobj);
transaction.commit();