您的位置:首页 > 其它

GridView 加载数据 采用SimpleAdapter.

2014-05-14 10:04 288 查看
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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  gridview 布局
相关文章推荐