我创建了一个底部片段片段,我可以显示它,现在我想为这个片段设置值。所以我尝试使用Bundle
来做到这一点。
但是当我打开底页片段时没有任何价值。
这是我使用TextView的底部图纸片段布局:
<TextView
android:id="@+id/edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
这是我的底页片段:
public class BottomSheetFragment extends Fragment {
private String TAG = BottomSheetFragment.class.getSimpleName();
private TextView edit_text;
private View view;
public BottomSheetFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
view = inflater.inflate(R.layout.fragment_bottom_sheet, container, false);
edit_text =(TextView) view.findViewById(R.id.edit_text);
Bundle bundle = getArguments();
String test = bundle.getString("test");
Log.d(TAG, "HI"); // there is no HI
Log.d(TAG, test); // i can't see test value from logcat
edit_text.setText(test); // so this code is no working
return view;
}
}
这是我尝试将值设置为片段:
BottomSheetFragment bottomSheetFragment = new BottomSheetFragment();
Bundle bundle = new Bundle();
bundle.putString("test", "oh ya");
bottomSheetFragment.setArguments(bundle);
((MainActivity)getActivity()).showBottomSheetDialog();
最后,这是我的带有MainActivity的showBottomSheetDialog方法:
public void showBottomSheetDialog() {
View view = getLayoutInflater().inflate(R.layout.fragment_bottom_sheet, null);
BottomSheetDialog dialog = new BottomSheetDialog(this);
dialog.setContentView(view);
dialog.show();
}
我会错过哪一步?任何帮助,将不胜感激。提前谢谢。
答案 0 :(得分:1)
如果您愿意使用BottomSheetDialog
的行为,则必须将BottomSheetDialogFragment扩展到该类。
public class BottomSheetFragment extends BottomSheetDialogFragment {
....
...
}
您可以直接致电show()
<{1}}
BottomSheetFragment