GridView的最后固定显示一个增加图片,点击图片动态增加内容item

public   class  GridViewAdapter  extends  BaseAdapter {  
     private  Context context;  
     private  List<Integer> list;  
    LayoutInflater layoutInflater;  
     private  ImageView mImageView;  
  
     public  GridViewAdapter(Context context, List<Integer> list) {  
         this .context = context;  
         this .list = list;  
        layoutInflater = LayoutInflater.from(context);  
    }  
  
     @Override   
     public   int  getCount() {  
         return  list.size()+ 1 ; //注意此处   
    }  
  
     @Override   
     public  Object getItem( int  position) {  
         return  list.get(position);  
    }  
  
     @Override   
     public   long  getItemId( int  position) {  
         return  position;  
    }  
  
     @Override   
     public  View getView( int  position, View convertView, ViewGroup parent) {  
  
        convertView = layoutInflater.inflate(R.layout.grid_item,  null );  
        mImageView = (ImageView) convertView.findViewById(R.id.item);  
         if  (position < list.size()) {  
            mImageView.setBackgroundResource(list.get(position));  
        } else {  
            mImageView.setBackgroundResource(R.drawable.pic3); //最后一个显示加号图片   
        }  
         return  convertView;  
    }  
  
}  

==========================================================
public   class  MainActivity  extends  ActionBarActivity {  
     private  List<Integer> mDatas;  
private  GridView mGridView;  
private  GridViewAdapter adapter;  
     @Override   
     protected   void  onCreate(Bundle savedInstanceState) {  
         super .onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  
        mGridView=(GridView) findViewById(R.id.gv_test);  
          
        initDatas();  
        adapter= new  GridViewAdapter(MainActivity. this ,mDatas);  
        mGridView.setAdapter(adapter);  
        mGridView.setOnItemClickListener( new  OnItemClickListener() {  
  
             @Override   
             public   void  onItemClick(AdapterView<?> parent, View view,  
                     int  position,  long  id) {  
                 if (position==parent.getChildCount()- 1 ){  
                    mDatas.add(R.drawable.pic1);  
                    Toast.makeText(MainActivity. this "您点击了添加" 1 ).show();  
                    adapter= new  GridViewAdapter(MainActivity. this , mDatas);  
                    mGridView.setAdapter(adapter);  
                    adapter.notifyDataSetChanged();  
                }  
                  
            }  
        });  
          
    }  
     private   void  initDatas() {  
        mDatas= new  ArrayList<>();  
        mDatas.add(R.drawable.pic1);  
        mDatas.add(R.drawable.pic1);  
        mDatas.add(R.drawable.pic1);  
        mDatas.add(R.drawable.pic1);  
        mDatas.add(R.drawable.pic1);  
          
    }  
  
      
    }  
=========================================
main.xml 布局
<RelativeLayout   xmlns:android = "http://schemas.android.com/apk/res/android"   
     xmlns:tools = "http://schemas.android.com/tools"   
     android:layout_width = "match_parent"   
     android:layout_height = "match_parent"   >   
  
     <GridView   
         android:id = "@+id/gv_test"   
         android:numColumns = "3"   
         android:layout_width = "match_parent"   
         android:layout_height = "match_parent"   />   
  
</RelativeLayout>   
=============================================
grid_item 布局
<LinearLayout   xmlns:android = "http://schemas.android.com/apk/res/android"   
     android:layout_width = "match_parent"   
     android:layout_height = "match_parent"   
     android:orientation = "vertical"   >   
  
     <ImageView   
         android:id = "@+id/item"   
         android:layout_width = "wrap_content"   
         android:layout_height = "wrap_content"   />   

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值