fragment 中的 Android Snackbar NullPointerException

标签 android snackbar

我想在我的应用程序中添加一个基本的 snackbar ,但我收到了一个错误,我无法弄清楚原因。

我在 Fragment 的 onCreateView() 方法中添加了这段代码。

Snackbar.make(view, "Snackbar", Snackbar.LENGTH_LONG)
            .setAction("Action", null).show();

并收到此错误:

06-01 10:26:09.955    1232-1232/? E/ActivityThread﹕ Failed to find provider  info for me.muraterdogan.watchme.MetricaContentProvider
06-01 10:26:10.075    1232-1447/? E/ActivityThread﹕ Failed to find provider info for me.muraterdogan.watchme.YPLContentProvider
06-01 10:33:55.044    6646-6646/? E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: me.muraterdogan.watchme, PID: 6646
java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Context android.view.ViewGroup.getContext()' on a null object reference
        at android.support.design.widget.Snackbar.<init>(Snackbar.java:116)
        at android.support.design.widget.Snackbar.make(Snackbar.java:140)
        at me.muraterdogan.watchme.fragments.TrendingFragment.GetData(TrendingFragment.java:90)
        at me.muraterdogan.watchme.fragments.TrendingFragment.onCreateView(TrendingFragment.java:83)
...

最佳答案

如果你的Fragment被添加到现有的activity中(记住你可以通过xml添加它),你应该将SnackBar的方法调用到Fragment的onActivityCreated()方法中。

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    Snackbar.make(view, "Snackbar", Snackbar.LENGTH_LONG)
        .setAction("Action", null).show();
}

关于 fragment 中的 Android Snackbar NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30569705/

相关文章:

java - 如何在java的静态方法中使用this关键字?

java - 使谷歌地图不是全屏Android应用程序

android - 房间 "Not sure how to convert a Cursor to this method' s 返回类型": which method?

android - 特定 fragment 中的 Snackbar

android - 获取snackbar支持库的高度

android:如何使用属性集构造函数实例化我的自定义 View

android - 如何通过单击通知关闭我的应用程序的任何 Activity ?

android - 使 Snackbar 向上推 View

reactjs - 组件更新时重置 Snackbar 上的 autoHideDuration 计时器

android - 如何在 SnackBar 中使用 setDuration() 方法(Android 设计支持库)