我一直试图隐藏 GridLayout 3x3 板的所有图像视图。我尝试使用循环遍历布局和 imageView.setImageDrawable(null) 的所有子项;注意:以下代码已放置在 playAgain(View view) 按钮方法中。public void playAgain(View view){ Button playAgainButton = (Button) findViewById(R.id.playAgainButtonID); TextView winnerTextView = (TextView) findViewById(R.id.winnerTextView); playAgainButton.setVisibility(View.INVISIBLE); winnerTextView.animate().translationYBy(-100); GridLayout gridLayout = (GridLayout) findViewById(R.id.gridLayout); for(int i=0; i<gridLayout.getChildCount(); i++){ ImageView imageView = (ImageView) gridLayout.getChildAt(i); imageView.setBackgroundResource(0); }以下是 logcat 的日志:E/AndroidRuntime: FATAL EXCEPTION: main Process: com.rootcomp.bills.joincoin, PID: 10140 java.lang.IllegalStateException: 无法在 android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick( AppCompatViewInflater.java:390) 在 android.view.View.performClick(View.java:6256) 在 android.view.View$PerformClick.run(View.java:24701) 在 android.os.Handler.handleCallback(Handler.java) :789) 在 android.os.Handler.dispatchMessage(Handler.java:98) 在 android.os.Looper.loop(Looper.java:164) 在 android.app.ActivityThread.main(ActivityThread.java:6541) 在 java .lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) 由:java.lang.reflect.InvocationTargetException at java.lang.reflect.Method.invoke(Native Method) at android。
1 回答
慕的地8271018
TA贡献1796条经验 获得超4个赞
看起来您正在投射错误版本的 GridLayout。
java.lang.ClassCastException: android.support.v7.widget.GridLayout 无法在 com.rootcomp.bills.joincoin.MainActivity.playAgain(MainActivity.java:99) 上投射到 android.widget.GridLayout
您是否在 xml 中使用支持版本而在代码中使用不支持版本?
GridLayout gridLayout = (GridLayout) findViewById(R.id.gridLayout);
它们都称为 GridLayout,但来自不同的库。
添加回答
举报
0/150
提交
取消