【发布时间】:2023-03-25 02:27:01
【问题描述】:
我知道它适用于来自 XML 的任何类型的视图,但为什么在使用以编程方式创建的视图时它不起作用?
这是我的代码:
TextView tv = new TextView(getApplicationContext());
Snackbar snackbar = Snackbar.make(tv, "Welcome to AndroidHive", Snackbar.LENGTH_LONG);
snackbar.show();
这是我的错误:
*Process: com.cloudents.mysnackbar, PID: 9924
java.lang.NullPointerException
at android.support.design.widget.Snackbar.<init>(Snackbar.java:180)
at android.support.design.widget.Snackbar.make(Snackbar.java:206)
at com.cloudents.mysnackbar.MainActivity$2.onClick(MainActivity.java:39)
at android.view.View.performClick(View.java:4442)
at android.view.View$PerformClick.run(View.java:18473)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5105)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:792)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:608)
at dalvik.system.NativeStart.main(Native Method)*
【问题讨论】:
-
您传递给
Snackbar的View需要附加到屏幕上的层次结构。我想当它试图找到其父母的父母时,它会抛出 NPE。