AN GridView 横向分页,适合TV等有按键需求的android系统

结果展示:


关键分析:根据屏幕比例算出每一页放多少个Item,然后把每一页的Item push进工作数组中,然后传给adapter,利用adapter的notifyDataSetChanged更新即可;

注意:getCount返回的是工作数组的size,这样的话最后一页才不会出错(往往是抛出空指针)

关键代码:

MainActivity.java

public void onCreate(Bundle savedInstanceState){ 
    	
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.activity_main); 
        gridView = (GridView) findViewById(R.id.gridview); 
        
        initView(); 
        
        InputStream input = getResources().openRawResource(R.drawable.android);
        BitmapDrawable android = new BitmapDrawable(input);
        Bitmap bitmap = android.getBitmap();
        
        for(int i=0;i<30;i++){
        	Picture tmp = new Picture();
        	tmp.setImage(bitmap);
        	tmp.setTitle("Name "+String.valueOf(i));
        	pictureInfo.add(tmp);
        }
        
        cl = new Button.OnClickListener() {
			public void onClick(View v) {
				// TODO Auto-generated method stub
				switch (v.getId()) {
				case R.id.btnLeft:
					leftView();
					break;
				case R.id.btnRight:
					rightView();
					break;
				}
			}
		};
		btnLeft.setOnClickListener(cl);
		btnRight.setOnClickListener(cl);
		checkButton();
		initWorkArray();
        
        
        gridView.setOnItemClickListener(new OnItemClickListener() 
            { 
                public void onItemClick(AdapterView<?> parent, View v, int position, long id) 
                { 
                    Toast.makeText(MainActivity.this, "pic" + (position+1), Toast.LENGTH_SHORT).show(); 
                } 
            }); 
        
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值