2013-06-24 182 views
0

我有3图库图像。当首先点击按钮它显示第一组图库,然后我点击它显示第二组图库。单击第二个按钮时如何删除第一组图库,并在单击第一个按钮时删除第二组图库。按钮点击事件删除图库

代码:

图片:

Integer[] imageIDs = { 

      R.drawable.nat, 
       R.drawable.nat1, 
       R.drawable.nat2, 
       R.drawable.nat3, 
       R.drawable.nat4, 
       R.drawable.nat5, 
       R.drawable.nat6, 
       R.drawable.nat7 


      }; 

    Integer[] imageIDs1 = { 
      R.drawable.tree, 
       R.drawable.tree1, 
       R.drawable.tree2, 
       R.drawable.tree3, 
       R.drawable.tree4, 
       R.drawable.tree5, 
       R.drawable.tree6, 
       R.drawable.tree7 
      }; 

ImageAdapter为1组图像:

public class ImageAdapter extends BaseAdapter 
     { 
     Context context; 
     int itemBackground; 


     public ImageAdapter(Context c) 
      { 
      context = c; 
      //---setting the style--- 
      // TypedArray a = obtainStyledAttributes(R.styleable.Gallery1); 
      // itemBackground = a.getResourceId(
           // R.styleable.Gallery1_android_galleryItemBackground, 0); 

      // a.recycle(); 
      } 


     //---returns the number of images--- 
     public int getCount() { 
      return imageIDs.length; 
     } 

     //---returns the item--- 
     public Object getItem(int position) { 
      return position; 
     } 
     //--returns the ID of an item--- 
     public long getItemId(int position) { 
      return position; 
     } 

     //---returns an ImageView view--- 

     @Override 
     public View getView(int position, View convertView, ViewGroup parent) { 
      // TODO Auto-generated method stub 
      ImageView imageView; 
       if (convertView == null) { 
       imageView = new ImageView(context); 
       //set the ImageView to display image in array 
       // at user selected position 
       imageView.setImageResource(imageIDs[position]); 
       imageView.setScaleType(ImageView.ScaleType.FIT_XY); 
       imageView.setLayoutParams(new Gallery.LayoutParams(150, 120)); 

       // imageView.setLayoutParams(new Gallery.LayoutParams(300, 300)); 

       } else { 
       imageView = (ImageView) convertView; 
       } 

       imageView.setBackgroundResource(itemBackground); 
       return imageView; 
     } 
    } 

ImageAdapter为第二组图像:

public class ImageAdapter1 extends BaseAdapter 
     { 
     Context context; 
     int itemBackground; 


     public ImageAdapter1(Context c) 
      { 
      context = c; 
      //---setting the style--- 
      // TypedArray a = obtainStyledAttributes(R.styleable.Gallery1); 
      // itemBackground = a.getResourceId(
           // R.styleable.Gallery1_android_galleryItemBackground, 0); 

      // a.recycle(); 
      } 


     //---returns the number of images--- 
     public int getCount() { 
      return imageIDs1.length; 
     } 

     //---returns the item--- 
     public Object getItem(int position) { 
      return position; 
     } 
     //--returns the ID of an item--- 
     public long getItemId(int position) { 
      return position; 
     } 

     //---returns an ImageView view--- 

     @Override 
     public View getView(int position, View convertView, ViewGroup parent) { 
      // TODO Auto-generated method stub 
      ImageView imageView; 
       if (convertView == null) { 
       imageView = new ImageView(context); 
       //set the ImageView to display image in array 
       // at user selected position 
       imageView.setImageResource(imageIDs1[position]); 
       imageView.setScaleType(ImageView.ScaleType.FIT_XY); 
       imageView.setLayoutParams(new Gallery.LayoutParams(150, 120)); 

       // imageView.setLayoutParams(new Gallery.LayoutParams(300, 300)); 

       } else { 
       imageView = (ImageView) convertView; 
       } 

       imageView.setBackgroundResource(itemBackground); 
       return imageView; 
     } 
    } 

文本菜单按钮点击:

popup_but = (Button) findViewById(R.id.popup_but_id); 

      registerForContextMenu(popup_but); 

      popup_but.setOnClickListener(new OnClickListener(){ 

       @Override 
       public void onClick(View v) { 
        // TODO Auto-generated method stub 

        openContextMenu(v); 

       } 



      }); 

@Override 
    public void onCreateContextMenu(ContextMenu menu, View v, 
     ContextMenuInfo menuInfo) { 
     // TODO Auto-generated method stub 
     super.onCreateContextMenu(menu, v, menuInfo); 
     getMenuInflater().inflate(R.menu.main, menu); 
     menu.setHeaderTitle("Nature"); 
    } 

文本菜单单击事件:

 @Override 
    public boolean onContextItemSelected(MenuItem item) { 
     // TODO Auto-generated method stub 
     switch (item.getItemId()) { 
     case R.id.nat: 

     // gallery1.setEnabled(false); 

      gallery=(Gallery)findViewById(R.id.gall1); 

     // gallery.setEnabled(false); 

      gallery.setAdapter(new ImageAdapter(MainActivity.this)); 

      gallery.setOnItemClickListener(new OnItemClickListener() 
      { 

       @Override 
       public void onItemClick(
         AdapterView<?> parent, View v, 
         int position, long id) { 
        // TODO Auto-generated method stub 

        final ImageView imageView = (ImageView) findViewById(R.id.image1); 
        imageView.setImageResource(imageIDs[position]); 
return true; 
         } 
        }); 
break; 

case R.id.tree: 

     // gallery1.setEnabled(false); 

      gallery1=(Gallery)findViewById(R.id.gall2); 

     // gallery1.setEnabled(false); 

      gallery1.setAdapter(new ImageAdapter1(MainActivity.this)); 

      gallery1.setOnItemClickListener(new OnItemClickListener() 
      { 

       @Override 
       public void onItemClick(
         AdapterView<?> parent, View v, 
         int position, long id) { 
        // TODO Auto-generated method stub 

        final ImageView imageView = (ImageView) findViewById(R.id.image2); 
        imageView.setImageResource(imageIDs[position]); 
return true; 
         } 
        }); 
break; 

回答

0

写来改变输入列表您的适配器根据情况(即按一下按钮),并调用adapter.notifyDataSetChanged()

+0

我用((RelativeLayout的)gallery1的方法。的getParent())removeView(gallery1)。在R.id.nat里面:但是我得到空指针异常错误。你可以给代码吗? – user2474320