如何使用片段将值设置为底部?

时间:2018-01-17 09:09:11

标签: android android-fragments

我创建了一个底部片段片段,我可以显示它,现在我想为这个片段设置值。所以我尝试使用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();
}

我会错过哪一步?任何帮助,将不胜感激。提前谢谢。

1 个答案:

答案 0 :(得分:1)

如果您愿意使用BottomSheetDialog的行为,则必须将BottomSheetDialogFragment扩展到该类。

public class BottomSheetFragment extends BottomSheetDialogFragment {
    ....
    ...
}

您可以直接致电show() <{1}}

BottomSheetFragment