如何在android中无需budle就能将数据从活动传递到片段?

如何在android中无需budle就能将数据从活动传递到片段?,android,parsing,fragment,Android,Parsing,Fragment,这是我项目的活动类 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_tabs_activity); String LicID = "DATA" Fragment FragmentDetail = new FragmentDetail(

这是我项目的活动类

    @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);
}
}

这是我的零碎细节活动。它是一个选项卡片段…

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();
}
此代码不工作。应用程序崩溃,没有任何错误。。。。请帮忙。谢谢

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

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

FragmentDetail.setArguments(data);
adapter.AddFragment(new FragmentDetail(),"Detail");
并向适配器添加另一个片段:

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

FragmentDetail.setArguments(data);
adapter.AddFragment(new FragmentDetail(),"Detail");
请尝试使用相同的片段。

在tab\u活动中:

 public String LicID = "DATA"
当您希望从附加到activity的片段访问此变量时

详细内容如下:

((tab_activity) (getActivity)).LicID

因此,您不必向片段传递参数,也不必为此使用bundle。如果您需要进一步的帮助,请显示您的logcat,它不工作。我设置了适配器并将数据传递给同一个片段..您的项目崩溃了,很可能是因为在我的项目
String abc=(ActivityName(tab_activity()).LicID中,细节片段中没有位置来检索根据此发送的参数但ActivityName不是现有关键字。我的活动名称是tab_活动,片段名称是FragmentDetail。我在下面发布了我项目的驱动链接。你能用它找到问题吗。非常感谢。不,不是这样,你应该把活动名称放在那里。因为我看不到你的活动名称,所以我不能写它;它应该是这样的:String abc=((Tabs\u Activity)getActivity).LicID注意:您应该使用正确的活动名称更改Tab\u活动部分