GridView 加载数据 采用SimpleAdapter.

gridView 应该是手机端最从常用的加载数据,比如淘宝手机客户端等等,许多商品都采用gridview 形式,布局的。

import java.util.*;
import android.app.Activity;
import android.os.Bundle;
import android.widget.GridView;
import android.widget.SimpleAdapter;

public class GridView1Activity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_grid_view1);
		//进来的效果,左边滑动进来,右边出去。
		overridePendingTransition(android.R.anim.slide_in_left,android.R.anim.slide_out_right);
		GridView gridview=(GridView) findViewById(R.id.gridview);
		SimpleAdapter adapter=new SimpleAdapter(this, getData(),R.layout.gridview,
				new String[]{"title","pic"}, new int[]{R.id.loveTitle,R.id.lovePic});
		/*第一个参数是在哪里显示,第二个参数是List<Map>类型的数据,第三个是自定义的布局文件,第四个参数是key,
		第五个参数是布局文件中的id. 注意: key要一一对应相关的id */
		gridview.setAdapter(adapter);
	}


	//加载数据
	public List<Map<String,Object>> getData() {
		List<Map<String,Object>> list=new ArrayList<Map<String,Object>>();
		
		String titles[]={"漂亮","迷人","温柔","李宁","乔丹","耐克","361"};  //准备标题
		int pics[]={R.drawable.b,R.drawable.c,R.drawable.girl, //准备
				R.drawable.shirt1,R.drawable.shirt5,R.drawable.shirt6,R.drawable.shirt4};
		
		//实际应用中应该从网络上获取图片资源文件等信息。这里仅做测试。
		for (int i = 0; i < titles.length; i++) {
			Map<String,Object> map=new HashMap<String,Object>();
			map.put("title", titles[i]);
			map.put("pic", pics[i]);
			list.add(map);
		}
		return list;
	}
}

xml布局如下:

<LinearLayout 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=".GridView1Activity"
    android:orientation="vertical" >

    <TextView
          android:layout_height="wrap_content" android:layout_width="wrap_content"
        android:text="爱情从告白开始" />

    <GridView android:id="@+id/gridview"   
         android:layout_height="0dp" 
         android:layout_weight="1"
         android:layout_width="match_parent" 
         android:verticalSpacing="5dp" 
         android:horizontalSpacing="5dp"
         android:numColumns="auto_fit"
         android:columnWidth="60dp"
         android:stretchMode="columnWidth"
         android:gravity="center" 
         android:smoothScrollbar="true" 
         android:choiceMode="multipleChoice"
     >  
    </GridView>
    
     <TextView
          android:layout_height="50dp" android:layout_width="wrap_content"
        android:text="gridview之SimpleAdapt简单练习" />
</LinearLayout>

自定义布局如下:gridview.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" > 
    <ImageView android:id="@+id/lovePic" 
        android:layout_height="100dp" android:layout_width="100dp"/>
    <TextView android:id="@+id/loveTitle" android:layout_below="@id/lovePic" 
        android:gravity="center_horizontal"
        android:layout_width="wrap_content" android:layout_height="wrap_content"/>
</RelativeLayout>



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值