首页 > 解决方案 > 如何在没有budle的情况下将数据从活动传递到android中的片段?

问题描述

这是我项目的活动课

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_tabs_activity);

    String LicID = "DATA"
    Fragment FragmentDetail = new FragmentDetail();
    Bundle data  = new Bundle();
    data.putString("data",LicID);

    FragmentDetail.setArguments(data);

    ViewPageAdapter adapter = new ViewPageAdapter(getSupportFragmentManager());
    adapter.AddFragment(new FragmentDetail(),"Detail");


    viewp.setAdapter(adapter);
    tablay.setupWithViewPager(viewp);
}

}

这是我的 fragmentDetail 活动。它是一个标签片段......

public class FragmentDetail extends Fragment {

public FragmentDetail() {
}

@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    view = inflater.inflate(R.layout.detail_fragment,container,false);

    return view;
}

@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);


    String LicID = getArguments().getString ("data");
    Toast.makeText(getContext(),""+LicID+" ",Toast.LENGTH_SHORT).show();

这段代码是行不通的。应用程序崩溃没有任何错误....请帮忙。谢谢你

标签: androidparsingfragment

解决方案


我认为问题在于您将参数设置为一个片段:

Fragment FragmentDetail = new FragmentDetail();
Bundle data  = new Bundle();
data.putString("data",LicID);

FragmentDetail.setArguments(data);

并向适配器添加另一个片段:

adapter.AddFragment(new FragmentDetail(),"Detail");

请尝试使用相同的片段。


推荐阅读