GridView用法整理

1.首先是布局文件

<GridView
        android:id="@+id/gv_home"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_marginTop="5dp"
        android:layout_weight="1"
        android:numColumns="3"
        android:verticalSpacing="20dp" >
    </GridView>

2.核心代码

private GridView mGvHome;// gridview 布局
mGvHome = (GridView) findViewById(R.id.gv_home);
        // 设置适配器
        mGvHome.setAdapter(new HomeAdapter());
        // 设置gridVIEW的按钮监听
        mGvHome.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                switch (position) {
                // 跳转到相机压力测试界面
                case 0:
                    startActivity(new Intent(HomeActivity.this, CamerActivity.class));
                    break;
                // 跳转到蓝牙压力测试界面
                case 1:
                    startActivity(new Intent(HomeActivity.this, BluetoothActivity.class));
                    break;
                // 跳转到wifi压力测试界面
                case 2:
                    startActivity(new Intent(HomeActivity.this, WifiActivity.class));
                    break;
                // 跳转到扫描误差率压力测试界面
                case 3:
                    startActivity(new Intent(HomeActivity.this, ScanErrorRateActivity.class));
                    break;
                // 跳转到扫描打开关闭压力测试界面
                case 4:
                    startActivity(new Intent(HomeActivity.this, ScannerirculationActivity.class));
                    break;
                // 跳转到休眠唤醒开关闭压力测试界面
                case 5:
                    startActivity(new Intent(HomeActivity.this, ScreenLockActivity.class));
                    break;
                // 跳转到gps测试界面
                case 6:
                    startActivity(new Intent(HomeActivity.this, GpsActivity.class));
                    break;

                }
            }
        });

3.新建一个类集成基础BaseAdapter,这里需要建立2个集合用于存放要展示的文字和icon,还要新建一个布局文件用于填充布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center"
     >

    <ImageView
        android:id="@+id/iv_item"
        android:layout_marginTop="5dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_launcher" />

    <TextView
        android:id="@+id/tv_item"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="2dp"
        android:text="TextView" />

</LinearLayout>
// gridview要展示的文字
    private String[] mItems = new String[] { "相机压力", "蓝牙压力", "WiFi压力", "扫描误差率", "扫描工具压力", "休眠唤醒压力", "GPS测试" };
    // gridview的图片资源ID
    private int[] mPics = new int[] { R.drawable.camera, R.drawable.bt, R.drawable.wifi, R.drawable.scan,
            R.drawable.home_tools, R.drawable.screenlock, R.drawable.location };

public class HomeAdapter extends BaseAdapter {

        @Override
        public int getCount() {
            // 要展示的图标数量
            return mItems.length;
        }

        @Override
        public Object getItem(int position) {
            // 获取图标位置
            return mItems[position];
        }

        @Override
        public long getItemId(int position) {
            // 图标ID
            return position;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            // 布局填充器,注意要有view
            View view = View.inflate(HomeActivity.this, R.layout.home_list, null);
            // 拿到布局中的图片和文字ID,注意要有view
            ImageView ivItems = (ImageView) view.findViewById(R.id.iv_item);
            TextView tvItems = (TextView) view.findViewById(R.id.tv_item);
            // 展现文字和图片
            ivItems.setImageResource(mPics[position]);
            tvItems.setText(mItems[position]);
            // 返回这个布局
            return view;
        }
    }

最后效果图
这里写图片描述
至此,一个完整的GridView就完成了,记录一下。希望对需要的人有帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目录 DataGridView控件用法合集 1 1.当前的单元格属性取得、变更 4 2.DataGridView编辑属性 5 3.DataGridView最下面一列新追加行非表示 7 4.判断当前选中行是否为新追加的行 8 5. DataGridView删除行可否设定 8 6. DataGridView行列不表示和删除 10 7. DataGridView行列宽度高度设置为不能编辑 12 8. DataGridView行高列幅自动调整 15 9. DataGridView指定行列冻结 列冻结(当前列以及左侧做所有列) 16 10. DataGridView列顺序变更可否设定 17 11. DataGridView行复数选择 复数行选择不可 18 12. DataGridView选择的行、列、单元格取得 19 13. DataGridView指定单元格是否表示 21 14. DataGridView表头部单元格取得 22 17.DataGridView粘贴 25 18. DataGridView单元格上ToolTip表示设定(鼠标移动到相应单元格上时,弹出说明信息) 29 19. DataGridView中的ContextMenuStrip属性 31 20.指定DataGridView的滚动框位置 34 21. DataGridView手动追加列 34 22. DataGridView全体分界线样式设置 36 24. DataGridView新追加行的行高样式设置 39 25. DataGridView新追加行单元格默认值设置 40 26. DataGridView单元格数据错误标签表示 41 27. DataGridView单元格内输入值正确性判断 44 28. DataGridView单元格输入错误值事件的捕获 47 29. DataGridView行排序(点击列表头自动排序的设置) 49 30. DataGridView自动行排序(新追加值也会自动排序) 50 31. DataGridView自动行排序禁止情况下的排序 53 32. DataGridView指定列指定排序 60 33. DataGridView单元格样式设置 61 34. DataGridView文字表示位置的设定 69 35. DataGridView单元格内文字列换行 70 36. DataGridView单元格DBNull值表示的设定 71 37. DataGridView单元格样式格式化 71 38. DataGridView指定单元格颜色设定 74 39. DataGridView单元格文字字体设置 78 40. DataGridView根据单元格值设定单元格样式 82 41. DataGridView设置单元格背景颜色 84 42. DataGridView行样式描画 91 43. DataGridView显示行号 101 44. DataGridView焦点所在单元格焦点框不显示的设定 105 45. DataGridView列中显示选择框CheckBox 107 46. DataGridView中显示下拉框ComboBox 109 47. DataGridView单击打开下拉框 113 48. DataGridView中显示按钮 115 49. DataGridView中显示链接 117 50. DataGridView中显示图像 120 51. DataGridView编辑中单元格控件取得 123 52. DataGridView输入自动完成 125 53. DataGridView单元格编辑时键盘KEY事件取得 131 54. DataGridView下拉框(ComboBox)单元格编辑时事件取得 134 55. DataGridView下拉框(ComboBox)单元格允许文字输入设定 138 56. DataGridView根据值不同在另一列中显示相应图片 141 57. DataGridView中显示进度条(ProgressBar) 147 58. DataGridView中添加MaskedTextBox 176 59. DataGridView中Enter键按下焦点移至旁边的单元格 202 60. DataGridView行集合化(Group) 205
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值