Android 为什么不在Snackbar工作?
我有一个snackbar,在其中我想删除textview,但当我使用View.INVISIBLE时,它不会显示uo,但当使用View.Goe时,应用程序会说NullPointerException崩溃。为什么会这样 这是密码 MainActivity.javaAndroid 为什么不在Snackbar工作?,android,android-snackbar,snackbar,Android,Android Snackbar,Snackbar,我有一个snackbar,在其中我想删除textview,但当我使用View.INVISIBLE时,它不会显示uo,但当使用View.Goe时,应用程序会说NullPointerException崩溃。为什么会这样 这是密码 MainActivity.java Snackbar sk=Snackbar.make(findViewById(R.id.ll),"It is checked",Snackbar.LENGTH_INDEFINITE); sk.setAction("Undo",m); sk
Snackbar sk=Snackbar.make(findViewById(R.id.ll),"It is checked",Snackbar.LENGTH_INDEFINITE);
sk.setAction("Undo",m);
sk.setActionTextColor(Color.GREEN);
Snackbar.SnackbarLayout sl = (Snackbar.SnackbarLayout) sk.getView();
TextView t=sl.findViewById(android.support.design.R.id.snackbar_text);
t.setVisibility(View.GONE);
Logcat
致命异常:主
流程:com.example.ankit.testing,PID:29950
java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“int android.text.Layout.getLineCount()”
位于android.support.design.internal.SnackbarContentLayout.onMeasure(SnackbarContentLayout.java:85)
在android.view.view.measure上(view.java:18820)
位于android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5961)
位于android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
位于android.support.design.widget.Snackbar$SnackbarLayout.onMeasure(Snackbar.java:335)
在android.view.view.measure上(view.java:18820)
位于android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5961)
位于android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
位于android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:139)
在android.view.view.measure上(view.java:18820)
位于android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5961)
位于android.support.v7.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:391)
在android.view.view.measure上(view.java:18820)
位于android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5961)
位于android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
在android.view.view.measure上(view.java:18820)
位于android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5961)
位于android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1465)
位于android.widget.LinearLayout.measureVertical(LinearLayout.java:748)
位于android.widget.LinearLayout.onMeasure(LinearLayout.java:630)
在android.view.view.measure上(view.java:18820)
位于android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5961)
位于android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
在com.android.internal.policy.PhoneWindow$DecorView.onMeasure上(PhoneWindow.java:2680)
在android.view.view.measure上(view.java:18820)
在android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2132)
在android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1248)
在android.view.ViewRootImpl.performTraversals上(ViewRootImpl.java:1484)
位于android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1139)
在android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6091)
在android.view.Choreographer$CallbackRecord.run(Choreographer.java:858)
位于android.view.Choreographer.doCallbacks(Choreographer.java:670)
位于android.view.Choreographer.doFrame(Choreographer.java:606)
在android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844)中
位于android.os.Handler.handleCallback(Handler.java:7
// Create the Snackbar
Snackbar snackbar = Snackbar.make(containerLayout, "", Snackbar.LENGTH_LONG);
Snackbar.SnackbarLayout layout = (Snackbar.SnackbarLayout) snackbar.getView();
TextView textView = (TextView) layout.findViewById(android.support.design.R.id.snackbar_text);
textView.setVisibility(View.INVISIBLE);
TextView textViewTop = (TextView)
snackView.findViewById(R.id.text);
textViewTop.setText(text);
layout.addView(snackView, 0);
snackbar.show();