GridView练习题

package com.example.wang.myapplication;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

import java.util.ArrayList;
import java.util.List;

public class Main2Activity extends AppCompatActivity {

    GridView gv_1;
    List<MyClass> lm;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        gv_1=(GridView)findViewById(R.id.gv_1);

        lm=new ArrayList<MyClass>();

        MyClass myClass=new MyClass(R.drawable.f1,"名称1");

        lm.add(myClass);
        lm.add(new MyClass(R.drawable.f2,"名称2"));

        lm.add(new MyClass(R.drawable.f3,"名称3"));

        lm.add(new MyClass(R.drawable.f4,"名称4"));

        lm.add(new MyClass(R.drawable.f5,"名称5"));

        lm.add(new MyClass(R.drawable.f6,"名称6"));

        lm.add(new MyClass(R.drawable.f7,"名称7"));

        lm.add(new MyClass(R.drawable.f8,"名称8"));

        lm.add(new MyClass(R.drawable.f9,"名称9"));

        lm.add(new MyClass(R.drawable.f10,"名称10"));

        lm.add(new MyClass(R.drawable.f10,"名称1111"));

        lm.add(new MyClass(R.drawable.f10,"名称11"));

        GridAdapter gridAdapter=new GridAdapter();

        gv_1.setAdapter(gridAdapter);

    }

    class GridAdapter extends BaseAdapter
    {
        @Override
        public int getCount() {
            return lm.size();
        }

        @Override
        public Object getItem(int position) {
            return lm.get(position);
        }

        @Override
        public long getItemId(int position) {
            return 0;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {

            MyClass myClass=lm.get(position);

            if (convertView==null)
            {
                Log.e("TAG", "适配器 getView=" + position);
                convertView=View.inflate(Main2Activity.this,R.layout.activity_main21,null);
            }
            ImageView imageView=(ImageView)convertView.findViewById(R.id.iv_1);

            imageView.setImageResource(myClass.getImg());

            TextView textView=(TextView)convertView.findViewById(R.id.tv_1);

            if (myClass.getName().length()>=5||myClass.getName().trim().length()==0)
            {
                Toast.makeText(Main2Activity.this, myClass.getName()+"不符合命名规则,请重新命名", Toast.LENGTH_LONG).show();

                textView.setText("");
            }
            else
            {
                textView.setText(myClass.getName());
            }

            return convertView;
        }
    }

    class MyClass
    {
        private int img;

        private String name;

        public int getImg() {
            return img;
        }

        public void setImg(int img) {
            this.img = img;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public MyClass(int img,String name)
        {
            this.img=img;
            this.name=name;
        }
    }
}

java

<?xml version="1.0" encoding="utf-8"?>
<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"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.wang.myapplication.Main2Activity">
    <GridView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/gv_1"
        android:numColumns="4"
        android:gravity="center"
        android:horizontalSpacing="20dp">
    </GridView>

</RelativeLayout>

activity_main2

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <ImageView
        android:layout_width="70dp"
        android:layout_height="70dp"
        android:id="@+id/iv_1"/>
    <TextView
        android:layout_width="70dp"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:id="@+id/tv_1"/>

</LinearLayout>

activity_main21

时间: 2024-10-20 20:19:50

GridView练习题的相关文章

Android 监听ListView、GridView滑动到底部

// 监听listview滚到最底部mIndexList.setOnScrollListener(new OnScrollListener() { @Override public void onScrollStateChanged(AbsListView view, int scrollState) { switch (scrollState) { // 当不滚动时 case OnScrollListener.SCROLL_STATE_IDLE: // 判断滚动到底部 if (view.get

XAF 如何从Excel复制多个单元格内容到GridView(收藏)

how to paste some excel content to xtragrid? 1.相關資料 http://community.devexpress.com/forums/t/36684.aspx http://community.devexpress.com/forums/t/58611.aspx using System; using DevExpress.ExpressApp; using DevExpress.ExpressApp.Actions; using DevExpre

使用GridView和SimpleAdapter实现手机界面常见的九宫格

首先是两个XML界面: <?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的GridView和Gallery

GridView: activity_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=&q

可拖动GridView的实现,类似支付宝界面

1.概述 之前实现过一个仿支付宝界面的代码,可拖动网格视图.其实实现的原理网上都可以找到,我也是参考网上实现的方法,实现了自己需要的界面.并对实现的原理和方法进行了分析,现在进行总结,放太久都快忘记自己做过这回事了.原理和实现网上大部分地方都可以找到,我是根据自己的理解进行分析的,现在对之前的工作进行总结,了解实现的基本过程和方法.GridView拖动的源码来源于网上,根据需求修改成了需要的效果,下面简单说明下实现过程. 在说明实现之前,先上一张总体的界面效果图: 为了更好说明程序种各个变量的意

GridView控件详解

一.介绍 GridView控件一表格形式显示数据源中的数据.提供对列进行排序.分页以及编辑.删除单个记录的功能. 二.绑定数据源 第一种使用DataSourceID属性.可以直接把GridView控件绑定到数据源控件上,以利用数据源控件的功能实现编辑.删除.排序.分页等功能.(初级) 第二种可以绑定到ADO.NET数据集和数据读取器对象上,但需要为所有功能编写后台代码.(一般使用这种方式) private void gridViewBind() { //获取GridView排序数据列及排序方向

GridView--scroolview嵌套listview和gridview

我们在真实项目中通常会遇到ListView或者GridView嵌套在ScrollView中问题.但是做的时候会发现,一旦两者进行嵌套,即会发生冲突.得不到我们希望的效果.由于ListView和GridView本身都继承于ScrollView,一旦在ScrollView中嵌套ScrollView,那么里面的ScrollView高度计算就会出现问题.我们也就无法得到想要的效果.下面进入正题,我们将分别讨论ScrollView中嵌套ListView和FGridView的情况: 核心解决方案: 重写Li

Win10开发:实现GridView选定项的反选

今天在开发Flickr下载器的时候遇到了要反选GridView选中项的反选问题,花了好一会儿才解决,所以写篇博文记录一下. 我觉得我的实现方法很Low,真的是很愚蠢的办法.不刚好我就是个愚蠢的人,只想到了这么个愚蠢的办法.如果读者有更优的办法欢迎指教. 废话有点多,进入正题. 先说说几个相关的GridView的属性或方法: 属性: SelectionMode:项的选择模式,有四个可选值.默认为单选,即Single.多选为:Multiple SelectedItem:获取或设置选定项,可读写 Se

[Lab4-1]抓路由练习题

[Lab4-1]抓路由练习题 问题1: 用ACL抓取172.18.0.0/16----172.29.0.0/16的路由 答案: 172.16.0.0 0.15.255.255,看上去很完美,但实际上框的范围有些大. R1(f0/0)-(f0/0)R2 R1上的接口地址: R1#sh ip int b Interface IP-Address OK? Method Status Protocol FastEthernet0/0 12.1.1.1 YES NVRAM up up Loopback0