android - 如何在没有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();
这段代码是行不通的。应用程序崩溃没有任何错误....请帮忙。谢谢你
解决方案
我认为问题在于您将参数设置为一个片段:
Fragment FragmentDetail = new FragmentDetail();
Bundle data = new Bundle();
data.putString("data",LicID);
FragmentDetail.setArguments(data);
并向适配器添加另一个片段:
adapter.AddFragment(new FragmentDetail(),"Detail");
请尝试使用相同的片段。
推荐阅读
- javascript - 您可以在 Javascript 中创建对对象数组的引用吗?
- python-3.x - 关于自动执行某些任务的问题
- swift - SwiftUI:单击按钮时如何呈现视图?
- c# - 使用属性值而不是枚举值将枚举序列化为 JSON
- android - 将 firebase 配置为使用 java 包而不是应用程序 ID
- excel - Excel 是否被我的 VBA 代码超载?
- php - Zend MySQL 检查表是否存在
- java - 手动锁定手机后是否可以不重新创建活动?
- laravel - Fedora 中 Docker 中的卷权限被拒绝
- facebook-graph-api - 通过 facebook/instagram api 为我自己的用户获取最新图像?