Billal Reja
Billal Reja

Reputation: 3

Iterate through GridLayout childs to hide ImageViews of 3x3 board

I have been trying to hide all the image views of the GridLayout 3x3 board. I have tried using a loop to iterate through all childs of the layout and imageView.setImageDrawable(null);

Note: the following code has been placed inside a playAgain(View view) button method.

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);
       }

after pressing the button the app shows this error

Here is the logs from logcat:

E/AndroidRuntime: FATAL EXCEPTION: main Process: com.rootcomp.bills.joincoin, PID: 10140 java.lang.IllegalStateException: Could not execute method for android:onClick at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:390) at android.view.View.performClick(View.java:6256) at android.view.View$PerformClick.run(View.java:24701) at android.os.Handler.handleCallback(Handler.java:789) at android.os.Handler.dispatchMessage(Handler.java:98) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6541) at 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) Caused by: java.lang.reflect.InvocationTargetException at java.lang.reflect.Method.invoke(Native Method) at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:385) at android.view.View.performClick(View.java:6256)  at android.view.View$PerformClick.run(View.java:24701)  at android.os.Handler.handleCallback(Handler.java:789)  at android.os.Handler.dispatchMessage(Handler.java:98)  at android.os.Looper.loop(Looper.java:164)  at android.app.ActivityThread.main(ActivityThread.java:6541)  at 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)  Caused by: java.lang.ClassCastException: android.support.v7.widget.GridLayout cannot be cast to android.widget.GridLayout at com.rootcomp.bills.joincoin.MainActivity.playAgain(MainActivity.java:99) at java.lang.reflect.Method.invoke(Native Method)  at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:385)  at android.view.View.performClick(View.java:6256)  at android.view.View$PerformClick.run(View.java:24701)  at android.os.Handler.handleCallback(Handler.java:789)  at android.os.Handler.dispatchMessage(Handler.java:98)  at android.os.Looper.loop(Looper.java:164)  at android.app.ActivityThread.main(ActivityThread.java:6541)  at 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)  2018-10-18 01:48:21.514 1740-5247/system_process W/ActivityManager: Force finishing activity com.rootcomp.bills.joincoin/.MainActivity

Upvotes: 0

Views: 85

Answers (1)

uDevel
uDevel

Reputation: 1891

It looks like you are casting a wrong version of GridLayout.

java.lang.ClassCastException: android.support.v7.widget.GridLayout cannot be cast to android.widget.GridLayout at com.rootcomp.bills.joincoin.MainActivity.playAgain(MainActivity.java:99)

Are you using support version in xml and you using non support version in code?

    GridLayout gridLayout = (GridLayout) findViewById(R.id.gridLayout);

They are both called GridLayout, but from different lib.

Upvotes: 1

Related Questions