Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8697567
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 13, 20262026-06-13T01:33:28+00:00 2026-06-13T01:33:28+00:00

In my main activity I have a spinner which contains three categories(All,Horizontal and Vertical),

  • 0

In my main activity I have a spinner which contains three categories(All,Horizontal and Vertical), below that there is a gridView. I have some images in resource folder which are for both vertical and horizontal mode. I need to set the images to gridView according to selected item on spinner. I am able to set one category into gridView (for e.g all category). When selecting other category gridView did not update. For updating the gridView what should I do? plz help me?

I tried it by using placing three gridViews in my activity and set their visibility to gone, and make it visible when setting adapter(I used three separate adapters but not working.

My code is given below.

     public class MainActivity extends Activity {
    Spinner vsel;
    ArrayList<String> vimage = new ArrayList<String>();
    ArrayList<String> all = new ArrayList<String>();
    ArrayList<String> himage = new ArrayList<String>();
    ArrayList<Integer> allid = new ArrayList<Integer>();   
    ArrayList<Integer> hid = new ArrayList<Integer>();
    ArrayList<Integer> vid = new ArrayList<Integer>();  
    ArrayList<Integer> tot = new ArrayList<Integer>();  
    ArrayList<String> spinner = new ArrayList<String>();
    GridView gv,sgv,gv1,gv2;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        gv = (GridView) findViewById(R.id.gridView1);
        gv1 = (GridView) findViewById(R.id.gridView2);
        gv2 = (GridView) findViewById(R.id.gridView3);
        Class resources = R.drawable.class;
        java.lang.reflect.Field[] fields = resources.getFields();
         for(java.lang.reflect.Field field : fields)
        {
             try {
                    if(field.getName().contains("split"))
                    {
                        all.add(field.getName());
                        allid.add(field.getInt(fields));
                    }
                    if(field.getName().contains("splith"))
                        {
                            //String iname = field.getName();
                            himage.add(field.getName());
                            hid.add(field.getInt(fields));
                        }
                    if(field.getName().contains("splitv"))
                        {
                            vimage.add(field.getName());
                            vid.add(field.getInt(fields));
                        }
                        /*else
                        {
                            all.add(field.getName());
                            allid.add(field.getInt(fields));
                        }*/
                    }
                 catch (IllegalArgumentException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                } catch (IllegalAccessException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                }
        }
         System.out.println("All arraylist-> " + allid);
         System.out.println("Horizontal arraylist-> " + hid);
         System.out.println("Vertical arraylist-> " + vid);
      //  String[] viewsel = {"All","Vertical","Horizontal"};
         spinner.add("All");
         spinner.add("Vertical");
         spinner.add("Horizontal");
        vsel = (Spinner) findViewById(R.id.spinner1); 
        ArrayAdapter<String> sadpater = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,spinner);
        sadpater.setDropDownViewResource(android.R.layout.simple_spinner_item);
        vsel.setAdapter(sadpater);
        vsel.setOnItemSelectedListener(new OnItemSelectedListener() {

            public void onItemSelected(AdapterView<?> parent, View view,
                    int position, long id) {
                // TODO Auto-generated method stub
                //String item = parent.getItemAtPosition(position).toString();
                String item = parent.getSelectedItem().toString();

                if(item.equals("All"))
                {
                    gv2.setVisibility(View.INVISIBLE);
                    gv1.setVisibility(View.INVISIBLE);


                    Toast.makeText(MainActivity.this,item,Toast.LENGTH_SHORT).show();

                    gv.setVisibility(View.VISIBLE);
                     gv.setAdapter(new AppsAdapter(MainActivity.this,allid));
                }
                if(item.equals("Vertical"))
                {
                    gv.setVisibility(View.INVISIBLE);
                    gv2.setVisibility(View.INVISIBLE);

                    gv1.setVisibility(View.VISIBLE);
                    Toast.makeText(MainActivity.this,item,Toast.LENGTH_SHORT).show();

                     gv1.setAdapter(new AppsAdapter1(MainActivity.this,vid));
                }
                 if(item.equals("Horizontal"));
                {
                    gv.setVisibility(View.INVISIBLE);
                    gv1.setVisibility(View.INVISIBLE);

                    Toast.makeText(MainActivity.this,item,Toast.LENGTH_SHORT).show();

                    gv2.setVisibility(View.VISIBLE);
                     gv2.setAdapter(new AppsAdapter3(MainActivity.this,hid));
                }
            }

            public void onNothingSelected(AdapterView<?> view) {
                // TODO Auto-generated method stub

            }
        });
    }


    public class AppsAdapter extends BaseAdapter {
        private Context context;
        ArrayList<Integer> dirsTemp = new ArrayList<Integer>();
        public AppsAdapter(Context c,ArrayList<Integer> allid)
        {

            Log.d("In appsadapter1 all","Hii");
            dirsTemp = allid;

            context = c;

        }


        //---returns the number of images---

        public final int getCount() {

            return dirsTemp.size();


        }

         //---returns the ID of an item--- 

        public final Object getItem(int position) {
            return dirsTemp.get(position);
        }

        public final long getItemId(int position) {

            return position;
        }

        public View getView(int position, View convertView, ViewGroup parent) {
            // TODO Auto-generated method stub
            //final File f = (File) getItem(position);
            int i = (Integer) getItem(position);
            System.out.println("Dirstemp->"+dirsTemp);
            ImageView iv;
            if (convertView == null) 
            {
                    iv = new ImageView(context);
                    //iv.setPadding(5, 5, 5, 5);
            }

            else
            {
                    iv = (ImageView) convertView;
            }
            iv.setImageResource(dirsTemp.get(position));


            return iv;          
        }   
    }






    public class AppsAdapter1 extends BaseAdapter {
        private Context context1;
        ArrayList<Integer> dirsTemp1 = new ArrayList<Integer>();
        public AppsAdapter1(Context c,ArrayList<Integer>vid) {
            Log.d("In appsadapter1 vertical","Hii");
            dirsTemp1 = vid;

            context1 = c;

        }


        //---returns the number of images---

        public final int getCount() {

            return dirsTemp1.size();


        }

         //---returns the ID of an item--- 

        public final Object getItem(int position) {
            return dirsTemp1.get(position);
        }

        public final long getItemId(int position) {

            return position;
        }

        public View getView(int position, View convertView, ViewGroup parent) {
            // TODO Auto-generated method stub
            //final File f = (File) getItem(position);
            int i = (Integer) getItem(position);
            ImageView iv1;
            if (convertView == null) 
            {
                    iv1 = new ImageView(context1);
                    //iv.setPadding(5, 5, 5, 5);
            }

            else
            {
                    iv1 = (ImageView) convertView;
            }
            iv1.setImageResource(dirsTemp1.get(position));


            return iv1;         
        }   
    }  




    public class AppsAdapter3 extends BaseAdapter {
        private Context context2;
        ArrayList<Integer> dirsTemp2 = new ArrayList<Integer>();
        public AppsAdapter3(Context c,ArrayList<Integer>hid) {
            Log.d("In appsadapter1 horizontal","Hii");
            dirsTemp2 = hid;
            context2 = c;


        }


        //---returns the number of images---

        public final int getCount() {

            return dirsTemp2.size();


        }

         //---returns the ID of an item--- 

        public final Object getItem(int position) {
            return dirsTemp2.get(position);
        }

        public final long getItemId(int position) {

            return position;
        }

        public View getView(int position, View convertView, ViewGroup parent) {
            // TODO Auto-generated method stub
            //final File f = (File) getItem(position);
            int i = (Integer) getItem(position);
            ImageView iv2;
            if (convertView == null) 
            {
                    iv2 = new ImageView(context2);
                    //iv.setPadding(5, 5, 5, 5);
            }

            else
            {
                    iv2 = (ImageView) convertView;
            }
            iv2.setImageResource(dirsTemp2.get(position));


            return iv2;         
        }   
    }


}
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-13T01:33:30+00:00Added an answer on June 13, 2026 at 1:33 am

    You don’t need three gridViews and three adapters. One is enough. When changing category from spinner , refresh the list allid, vid, hid (used in Adapter to display gridview) and then notifyDataSetChanged() on the adapter.

    EDIT: try this:

    import java.util.ArrayList;
    
    import org.apache.commons.logging.Log;
    
    import android.app.Activity;
    import android.content.Context;
    import android.os.Bundle;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.AdapterView;
    import android.widget.AdapterView.OnItemSelectedListener;
    import android.widget.ArrayAdapter;
    import android.widget.BaseAdapter;
    import android.widget.GridView;
    import android.widget.ImageView;
    import android.widget.Spinner;
    import android.widget.Toast;
    
    
        public class ddsds extends Activity {
       Spinner vsel;
       ArrayList<String> vimage = new ArrayList<String>();
       ArrayList<String> all = new ArrayList<String>();
       ArrayList<String> himage = new ArrayList<String>();
       ArrayList<Integer> allid = new ArrayList<Integer>();   
       ArrayList<Integer> hid = new ArrayList<Integer>();
       ArrayList<Integer> vid = new ArrayList<Integer>();  
       ArrayList<Integer> tot = new ArrayList<Integer>();  
       ArrayList<String> spinner = new ArrayList<String>();
       GridView gv;
    
       @Override
       public void onCreate(Bundle savedInstanceState) {
           super.onCreate(savedInstanceState);
           setContentView(R.layout.main);
           gv = (GridView) findViewById(R.id.gridView1);
    
           Class resources = R.drawable.class;
           java.lang.reflect.Field[] fields = resources.getFields();
            for(java.lang.reflect.Field field : fields)
           {
                try {
                       if(field.getName().contains("split"))
                       {
                           all.add(field.getName());
                           allid.add(field.getInt(fields));
                       }
                       if(field.getName().contains("splith"))
                           {
                               //String iname = field.getName();
                               himage.add(field.getName());
                               hid.add(field.getInt(fields));
                           }
                       if(field.getName().contains("splitv"))
                           {
                               vimage.add(field.getName());
                               vid.add(field.getInt(fields));
                           }
                           /*else
                           {
                               all.add(field.getName());
                               allid.add(field.getInt(fields));
                           }*/
                       }
                    catch (IllegalArgumentException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
                   } catch (IllegalAccessException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
                   }
           }
            System.out.println("All arraylist-> " + allid);
            System.out.println("Horizontal arraylist-> " + hid);
            System.out.println("Vertical arraylist-> " + vid);
         //  String[] viewsel = {"All","Vertical","Horizontal"};
            spinner.add("All");
            spinner.add("Vertical");
            spinner.add("Horizontal");
           vsel = (Spinner) findViewById(R.id.spinner1); 
           ArrayAdapter<String> sadpater = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,spinner);
           sadpater.setDropDownViewResource(android.R.layout.simple_spinner_item);
           vsel.setAdapter(sadpater);
           ArrayList<String> list ; 
           AppsAdapter adapter = null; 
    
           vsel.setOnItemSelectedListener(new OnItemSelectedListener() {
    
               public void onItemSelected(AdapterView<?> parent, View view,
                       int position, long id) {
                   // TODO Auto-generated method stub
                   //String item = parent.getItemAtPosition(position).toString();
                   String item = parent.getSelectedItem().toString();
    
                   if(item.equals("All"))
                   {
                       list = allid;
                   }
                   if(item.equals("Vertical"))
                   {
                       list = vid;
                   }
                    if(item.equals("Horizontal"));
                   {
                       list = hid));
                   }
    
                   if (adapter = null ) {
                       adapter = new AppsAdapter(MainActivity.this, list);
                       gv.setAdapter(adapter);
                   }
                   adapter.notifyDataSetChanged();
               }
    
               public void onNothingSelected(AdapterView<?> view) {
                   // TODO Auto-generated method stub
    
               }
           });
       }
    
    
       public class AppsAdapter extends BaseAdapter {
           private Context context;
           ArrayList<Integer> dirsTemp = new ArrayList<Integer>();
           public AppsAdapter(Context c,ArrayList<Integer> allid)
           {
    
               Log.d("In appsadapter1 all","Hii");
               dirsTemp = allid;
    
               context = c;
    
           }
    
    
           //---returns the number of images---
    
           public final int getCount() {
    
               return dirsTemp.size();
    
    
           }
    
            //---returns the ID of an item--- 
    
           public final Object getItem(int position) {
               return dirsTemp.get(position);
           }
    
           public final long getItemId(int position) {
    
               return position;
           }
    
           public View getView(int position, View convertView, ViewGroup parent) {
               // TODO Auto-generated method stub
               //final File f = (File) getItem(position);
               int i = (Integer) getItem(position);
               System.out.println("Dirstemp->"+dirsTemp);
               ImageView iv;
               if (convertView == null) 
               {
                       iv = new ImageView(context);
                       //iv.setPadding(5, 5, 5, 5);
               }
    
               else
               {
                       iv = (ImageView) convertView;
               }
               iv.setImageResource(dirsTemp.get(position));
    
    
               return iv;          
           }   
       }
    
    
    
    
    }
    
    
    
    
    
    
    
    
    
    
    }
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am making an app in which i have a main activity that the
Splash I have main activity UI startup operations that take between 5-10 seconds (that
i have main activity in which i have Four menus. and i have one
I have a Tabhost which is my main activity. When a tab is clicked
I have four activities namely, Demo_tabActivity.java [main activity] Tabhost.java The below two activities are
I have four activities namely, Demo_tabActivity.java [main activity] Tabhost.java The below two activities are
I have one spinner in which few values are there from strings.xml and I
I have a Main-Activity which displays several spinners. With a Toggle-Button in the Main-Activity
I have a main Activity and a Dialog through which I would like to
I have a ListView on main activity, which shows a Contact picture on the

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.