如何在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活动部分