我搜索了很多,但找不到任何解决方案,而Snackbar is not working within fragment class没有帮助。我传递了片段的rootView,并尝试从getActivity传递一个视图,但它们都不起作用!
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
rootView = inflater.inflate(R.layout.content_dialog_bottom_sheet, container, false);
Snackbar.make(MyActivity.myTextview, "Hello", Snackbar.LENGTH_INDEFINITE).show();
Snackbar.make(rootView, "Hello", Snackbar.LENGTH_INDEFINITE).show();
return rootView;
}
和我的content_dialog_bottom_sheet:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/bottomSheetLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/background"
app:behavior_hideable="true"
app:behavior_peekHeight="180dp"
app:layout_behavior="@string/bottom_sheet_behavior">
//some views
</RelativeLayout>
答案 0 :(得分:0)
延迟后显示小吃吧:
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Snackbar.make(rootView, "Hello", Snackbar.LENGTH_INDEFINITE).show();
}
},200);
答案 1 :(得分:0)
解决方案非常简单。您需要:
CoordinatorLayout
包装对话框布局(如果您想在某些特定视图旁边显示小吃栏,请包装它)CoordinatorLayout
id作为视图。答案 2 :(得分:0)
Snackbar.make(
getDialog().getWindow().getDecorView(),
"your-string",
Snackbar.LENGTH_SHORT
).show();
将此代码和平添加到您的 onCreateView