我的情况:
我在一个活动中有三个片段,活动使用底部菜单在片段之间切换。在第一个片段中有多个视图,包括按钮,textView和计时器。第二个片段主要显示数据(textViews,ProgressBars等)。
在第一个片段中,通过活动中调用的公共功能(在片段中)更新textViews中显示的数据。 像这样:
public void updateData(int data) {
dataTextView.setText(String.valueOf(data));
}
另一方面,第二个片段(此时)通过初始化获取其数据,如下所示:
public static SecondFragment newInstance(String param1, String param2) {
SecondFragment fragment = new SecondFragment();
Bundle args = new Bundle();
args.putString(ARG_PARAM1, param1);
args.putString(ARG_PARAM2, param2);
fragment.setArguments(args);
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
mParam1 = getArguments().getString(ARG_PARAM1);
mParam2 = getArguments().getString(ARG_PARAM2);
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View v = inflater.inflate(R.layout.fragment_share, container, false);
//find views and set data
return v;
}
我用来在片段之间切换的内容:
private void setFragment(android.support.v4.app.Fragment fragment) {
FragmentTransaction fragmentTransaction= getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.main_frame, fragment);
fragmentTransaction.commit();
}
我的问题:
感谢您的帮助!