在Fragment中使用Snackbar报错
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.***.****/vertu.assistant.activity.****Activity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Context android.view.ViewGroup.getContext()' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2315)
...
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Context android.view.ViewGroup.getContext()' on a null object reference
at com.androidadvance.topsnackbar.TSnackbar.<init>(TSnackbar.java:129)
参照:https://stackoverflow.com/questions/32305627/snackbar-is-not-working-within-fragment-class
将代码改为
Snackbar.make(getActivity().findViewById(android.R.id.content), "Hello!", Snackbar.LENGTH_LONG).show();
这篇文章https://blog.csdn.net/tongnuxie/article/details/47954169 说
必须要写在继承自AppCompatActivity中的Activity才行
最后使用AppCompatActivity,还需要在manifest.xml中这个Activity的Theme要使用Theme.AppCompat
不知道对不对