猿问

遍历 GridLayout childs 以隐藏 3x3 板的 ImageViews

我一直试图隐藏 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。 


汪汪一只猫
浏览 189回答 1
1回答

慕的地8271018

看起来您正在投射错误版本的 GridLayout。java.lang.ClassCastException: android.support.v7.widget.GridLayout 无法在 com.rootcomp.bills.joincoin.MainActivity.playAgain(MainActivity.java:99) 上投射到 android.widget.GridLayout您是否在 xml 中使用支持版本而在代码中使用不支持版本?&nbsp;&nbsp;&nbsp;&nbsp;GridLayout&nbsp;gridLayout&nbsp;=&nbsp;(GridLayout)&nbsp;findViewById(R.id.gridLayout);它们都称为 GridLayout,但来自不同的库。
随时随地看视频慕课网APP

相关分类

Java
我要回答