Gridview显示图片和文字(二)

来源:互联网 发布:调查软件 编辑:程序博客网 时间:2024/05/16 08:01

若想将每张图片下面的描述都不一样,只需要稍微改动一下主要的Activity中的代码,就可以做到如下效果:

主要的Activity中的代码如下:

package com.bzu.gridview.activity;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.GridView;import android.widget.ImageView;import android.widget.SimpleAdapter;import android.support.v4.app.NavUtils;public class GridViewActivity extends Activity {    private GridView imageList;    private ImageView show;    private int[] pics;    //定义名称数组    private String[] names;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_grid_view);        imageList=(GridView) this.findViewById(R.id.list);        show=(ImageView) this.findViewById(R.id.show);        pics=new int[]{R.drawable.image1,R.drawable.image2,R.drawable.image3,R.drawable.image4,R.drawable.image5,R.drawable.image6};        names=new String[]{"第一张","第二张","第三张","第四张","第五张","第六张"};        List<Map<String, Object>> item=new ArrayList<Map<String,Object>>();        //第一种方法        /*for(int id:pics){        Map<String, Object> items=new HashMap<String, Object>();        items.put("pic", id);        items.put("name", "张杰");        item.add(items);        }*/        //第二种方法        for(int i=0;i<pics.length;i++){        Map<String, Object> items=new HashMap<String, Object>();        items.put("pic", pics[i]);        items.put("name", names[i]);        item.add(items);        }        SimpleAdapter adapter=new SimpleAdapter(this,item, R.layout.grid, new String[]{"pic","name"}, new int[]{R.id.imageshow,R.id.name});        imageList.setAdapter(adapter);        show.setImageResource(pics[0]);        imageList.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> adapter, View view, int position,long id) {show.setImageResource(pics[position]);}});    }    @Override    public boolean onCreateOptionsMenu(Menu menu) {        getMenuInflater().inflate(R.menu.activity_grid_view, menu);        return true;    }    }


原创粉丝点击