GridView使用SimpleAdapter

Posted ocean123123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GridView使用SimpleAdapter相关的知识,希望对你有一定的参考价值。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:orientation="vertical"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
    <GridView
        android:id="@+id/gridview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:columnWidth="80dp"
        android:stretchMode="spacingWidthUniform"
        android:numColumns="3"
        />

主布局

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content"
    android:orientation="vertical"
    android:layout_height="wrap_content">
    <ImageView
        android:id="@+id/img"
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:layout_marginTop="10dp"
        android:src="@drawable/ic_launcher_background" />
    <TextView
        android:id="@+id/text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="2dp"
        android:layout_gravity="center"
        android:text="文字"
        />

</LinearLayout>

项目布局gridview_item

public class MainActivity extends AppCompatActivity 
    private GridView gridView;
    private List<Map<String, Object>> dataList;
    private SimpleAdapter adapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        gridView = (GridView) findViewById(R.id.gridview);
        //初始化数据
        initData();
        String[] from="img","text";

        int[] to=R.id.img,R.id.text;

        adapter=new SimpleAdapter(this, dataList, R.layout.gridview_item, from, to);

        gridView.setAdapter(adapter);

        gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() 
            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                                    long arg3) 
                AlertDialog.Builder builder= new AlertDialog.Builder(MainActivity.this);
                builder.setTitle("提示").setMessage(dataList.get(arg2).get("text").toString()).create().show();
            
        );
    

    void initData() 
        //图标
        int icno[] =  R.drawable.ic5,R.drawable.ic5,R.drawable.ic5,R.drawable.ic5,R.drawable.ic5,R.drawable.ic5,R.drawable.ic5,R.drawable.ic5,R.drawable.ic5,
                R.drawable.ic5,R.drawable.ic5,R.drawable.ic5;
        //图标下的文字
        String name[]="时钟","信号","宝箱","秒钟","大象","FF","记事本","书签","印象","商店","主题","迅雷";
        dataList = new ArrayList<Map<String, Object>>();
        for (int i = 0; i <icno.length; i++) 
            Map<String, Object> map=new HashMap<String, Object>();
            map.put("img", icno[i]);
            map.put("text",name[i]);
            dataList.add(map);
        
    

主activity

以上是关于GridView使用SimpleAdapter的主要内容,如果未能解决你的问题,请参考以下文章

Android--Gridview使用SimpleAdapter加载bitmap图片

Android--Gridview使用SimpleAdapter加载bitmap图片

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

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

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

gridview NullPointerException simpleAdapter