GridView的表格用途

刚开始学GridView的人都把文档里面的case学得很好,

模仿GridView用来做图片浏览等等工具,

但是GridView的一个重大功能,我们却提得很少,那应该就是用来做表格,

表格的作用也很大,比如说做统计,

本例子用来展示给大家怎么做初步的表格。

 

功能:做表格,根据每个单元格的不同含义,给单元格设置不同的背景色;

实现:通过GridView结合BaseAdapter实现;

案例源码:

第一步,新建一个Android应用:BaseAdapterDemoActivity;

第二部,重写main.xml,如下:

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
      <GridView 
     android:id="@+id/gridview"
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
    />
</LinearLayout>

 

第三步,在BaseAdapterDemoActivity.java文件中创建MyAdapter,基类是BaseAdapter,如下:

 

package hello.zcping.adapter;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.TextView;

public class BaseAdapterDemoActivity extends Activity {

 private GridView mGridView;
 private MyAdapter mMyAdapter;

 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  setupViews();
 }

 public void setupViews() {
  mMyAdapter = new MyAdapter();
  mGridView = (GridView) findViewById(R.id.gridview);
  mGridView.setAdapter(mMyAdapter);
  mGridView.setNumColumns(5);
 }

 private class MyAdapter extends BaseAdapter {
  @Override
  public int getCount() {
   return 20;
  }

  @Override
  public Object getItem(int arg0) {
   return arg0;
  }

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

  @Override
  public View getView(int position, View convertView, ViewGroup parent) {
   TextView mTextView = new TextView(getApplicationContext());
   String[] abc = { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
     "11", "12", "13", "14", "15", "16", "17", "18", "19", "20" };

   int[] icolor = { Color.GRAY, Color.GREEN, Color.RED, Color.WHITE,
     Color.YELLOW, Color.GRAY, Color.GREEN, Color.RED,
     Color.WHITE, Color.YELLOW, Color.GRAY, Color.GREEN,
     Color.RED, Color.WHITE, Color.YELLOW, Color.GRAY,
     Color.GREEN, Color.RED, Color.WHITE, Color.YELLOW };
   mTextView.setText(abc[position]);
   mTextView.setTextColor(Color.BLACK);
   mTextView.setBackgroundColor(icolor[position]);
   return mTextView;
  }

 }
}

 

效果如下:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值