`
liangoogle
  • 浏览: 276662 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

视图实现gridview+adapter 图片加文字

    博客分类:
  • view
阅读更多

1 这是实现的adapter类

 

 

package com.hao.test;

 

import android.content.Context;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.BaseAdapter;

import android.widget.ImageView;

import android.widget.TextView;

 

public class gridadapter extends BaseAdapter {

    private LayoutInflater inflater;

    String[] name;

    int[] iconarray;

 

    public gridadapter(Context context, String[] name, int[] iconarray) {

        this.inflater = LayoutInflater.from(context);

        this.name = name;

        this.iconarray = iconarray;

    }

 

    @Override

    public int getCount() {

        return name.length;

    }

 

    @Override

    public Object getItem(int position) {

        return position;

    }

 

    @Override

    public long getItemId(int position) {

        return position;

    }

 

    @Override

    public View getView(int position, View convertView, ViewGroup parent) {

        ViewHolder holder;

        if (convertView==null) {

            holder=new ViewHolder();

            convertView=this.inflater.inflate(R.layout.main_grid_item, null);

            holder.iv=(ImageView) convertView.findViewById(R.id.main_grid_item_iv);

            holder.tv=(TextView) convertView.findViewById(R.id.main_grid_item_tv);

            convertView.setTag(holder);

        }

        else {

           holder=(ViewHolder) convertView.getTag();

        }

        holder.iv.setImageResource(iconarray[position]);

        holder.tv.setText(name[position]);

        return convertView;

    }

    private class ViewHolder{

        ImageView iv;

        TextView tv;

    }

 

}

 

 

2这是要显示的格式main_grid_item

 

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical" android:gravity="center"

android:layout_width="wrap_content" android:layout_height="wrap_content">

<ImageView android:id="@+id/main_grid_item_iv"

android:layout_width="69dip" android:layout_height="69dip" />

<TextView android:id="@+id/main_grid_item_tv"

android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center_horizontal"

android:textStyle="bold" android:textColor="#333333"  />

</LinearLayout>

 

 

3 这个是activity中要显示的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/main_menu_grid_view"

android:layout_width="fill_parent" android:layout_height="fill_parent"

android:numColumns="auto_fit" android:padding="10dp"

android:verticalSpacing="20dp" android:horizontalSpacing="10dp"

android:columnWidth="75dp" android:stretchMode="columnWidth"

android:gravity="center" />

</LinearLayout>

 

4 这个是主activity 

 

package com.hao.test;

 

import android.app.Activity;

import android.app.AlertDialog;

import android.content.DialogInterface;

import android.os.Bundle;

import android.view.View;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemClickListener;

import android.widget.GridView;

 

public class Test extends Activity {

    public GridView gridView;

 

    String aString = "timu";

 

    private String[] name = {

            aString, aString, aString, aString, aString, aString, aString, aString

    };

 

    private int[] iconarray = {

            R.drawable.icon, R.drawable.icon, R.drawable.icon, R.drawable.icon, R.drawable.icon,

            R.drawable.icon, R.drawable.icon, R.drawable.icon

    };

 

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        init();

    }

 

    private void init() {

        // TODO Auto-generated method stub

        gridView = (GridView) findViewById(R.id.main_menu_grid_view);

        gridadapter adapter = new gridadapter(this, name, iconarray);

        gridView.setAdapter(adapter);

        gridView.setOnItemClickListener(new OnItemClickListener() {

 

            @Override

            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

                // TODO Auto-generated method stub

                switch (position) {

                    case 0:

                        new AlertDialog.Builder(Test.this)

 

                        .setTitle("Question")

 

                        .setMessage("0")

 

                        .setPositiveButton("Yes", new DialogInterface.OnClickListener() {

 

                            public void onClick(DialogInterface dialog, int whichButton) {

 

                                setResult(RESULT_OK);

 

                                finish();

 

                            }

 

                        })

 

                        .setNegativeButton("No", new DialogInterface.OnClickListener() {

 

                            public void onClick(DialogInterface dialog, int whichButton) {

 

                            }

 

                        })

 

                        .show();

                        break;

                    case 1:

                        new AlertDialog.Builder(Test.this)

 

                        .setTitle("Question")

 

                        .setMessage("1")

 

                        .setPositiveButton("Yes", new DialogInterface.OnClickListener() {

 

                            public void onClick(DialogInterface dialog, int whichButton) {

 

                                setResult(RESULT_OK);

 

                                finish();

 

                            }

 

                        })

 

                        .setNegativeButton("No", new DialogInterface.OnClickListener() {

 

                            public void onClick(DialogInterface dialog, int whichButton) {

 

                            }

 

                        })

 

                        .show();

                        break;

 

                    default:

                        break;

                }

            }

        });

    }

 

}

 

分享到:
评论

相关推荐

    android GridView+ViewPager

    GridView的数据绑定通常通过Adapter来实现,常见的有BaseAdapter、ArrayAdapter或CursorAdapter。Adapter会将数据源中的项转换为View,并插入到GridView中。 接下来是ViewPager。ViewPager是Android Support ...

    ListView之+GridView+Gallery图片计时滚动

    在Android开发中,...总的来说,"ListView之+GridView+Gallery图片计时滚动"这个主题涵盖了Android UI开发中的基础组件和常见的滚动效果实现,对于Android开发者来说,掌握这些知识将有助于构建更丰富的用户界面。

    android GridView+ViewFlipper实现图片浏览

    在Android开发中,GridView是一种常用的布局管理器,它允许我们以网格的形式展示多个视图,常用于创建诸如图片库、应用列表等界面。本教程将详细介绍如何利用GridView和ViewFlipper来实现图片浏览功能。 首先,`...

    gridview+activityGroup实现tab分页

    首先,`GridView`是Android的一种视图组件,它允许开发者以网格形式展示数据,常用于图片、列表项等的展示。每个单元格可以自定义视图,使得数据的展示更加灵活。`GridView`通过`Adapter`来获取数据并将其绑定到视图...

    Android GridView + ViewFlipper布局界面,模仿“机锋市场.rar

    GridView通常与Adapter一起使用,Adapter负责提供数据并将其转化为可显示的视图。在“机锋市场”的应用中,GridView可能被用来展示应用列表,每个格子代表一个应用图标和相关信息。 2. **ViewFlipper**:...

    横向滑动菜单gridview+listview

    在给定的标题“横向滑动菜单gridview+listview”中,我们可以理解到这个实现是将GridView和ListView结合,创建了一个可横向滑动的菜单系统。这种设计可以有效地展示大量数据,并且通过监听用户的操作来触发相应的...

    gridview+事件监听

    在这个“gridview+事件监听”的主题中,我们将深入探讨如何在GridView中实现事件监听,特别是针对单击和长按事件的处理,以及如何在GridView中更新图片。 首先,我们需要了解GridView的基本使用。GridView继承自...

    ActivityGroup + GridView + ViewFlipper 实现选项卡.zip

    GridView通过Adapter获取数据,并将其绑定到视图上。它可以自动处理布局的滚动,同时支持点击事件和长按事件。开发者可以通过设置GridView的列数来自定义网格的显示样式。 3. **ViewFlipper**: ViewFlipper是一个...

    GridView+ImageSwitcher实现的图片切换(左滑右滑切换)

    GridView的数据通常通过Adapter进行绑定,Adapter可以是BaseAdapter、ArrayAdapter或CursorAdapter等,它们负责将数据转化为GridView可显示的视图。 接下来,ImageSwitcher是一个视图切换器,内部包含两个ImageView...

    GridView+72般绝技.rar

    4. **自定义适配器**:对于更复杂的布局和交互,可以创建自定义适配器,重写`getView()`方法,自定义每个单元格的视图结构,包括图片、文字、按钮等元素。 5. **点击事件监听**:可以通过在Adapter中设置`...

    GridView用自定义Adapter

    本篇将深入探讨如何为GridView创建自定义Adapter,以实现更灵活、个性化的数据展示。 首先,了解Adapter的基本概念。Adapter是Android中一个桥梁类,它连接数据源(如ArrayList)和视图(如ListView、GridView等)...

    Android应用源码ActivityGroup + GridView + ViewFlipper 实现选项卡.zip

    在实际项目中,结合ActivityGroup、GridView和ViewFlipper实现选项卡效果时,通常会用GridView显示选项卡标题,每个标题对应一个ViewFlipper内的子View。当用户点击GridView中的一个标题时,ActivityGroup会启动相应...

    GridView+72般绝技

    - 在`GridView`前面或后面添加固定视图,如标题或分隔线,可以通过在Adapter中返回特定的View类型实现。 7. **间距调整**: - 设置`android:horizontalSpacing`和`android:verticalSpacing`属性来调整单元格之间...

    GridView+72般绝技,分页排序,详细介绍gridview的各种用法,并用代码演示.

    GridView通过Adapter来获取数据,并将数据转化为视图显示在界面上。Adapter是连接数据源和视图的关键组件,它可以是BaseAdapter、ArrayAdapter或CursorAdapter等。我们需要重写Adapter中的`getView()`方法,以便为每...

    ActivityGroup + GridView + ViewFlipper 实现选项卡(实用1).zip

    3. GridView的Adapter:自定义适配器,处理数据和视图的映射,可能包括图片和文字信息。 4. ViewFlipper的使用:在GridView的每个条目中添加ViewFlipper,通过监听事件触发视图切换。 5. 动画效果:为ViewFlipper...

    Android GridView + ViewFlipper布局界面,模仿“机锋市场.zip

    GridView通过Adapter来填充数据,Adapter是连接数据源和视图的桥梁。你可以自定义Adapter来决定每个单元格的样式和行为。在“机锋市场”的例子中,可能每个单元格展示一个应用图标、名称和简短描述。 接下来是...

    安卓Android源码——ActivityGroup + GridView + ViewFlipper 实现选项卡.rar

    在安卓开发中,构建用户界面是一项关键任务,而ActivityGroup、GridView和ViewFlipper是实现动态、交互式UI的重要组件。这份"安卓Android源码——ActivityGroup + GridView + ViewFlipper 实现选项卡.rar"的压缩包...

    gridview+viewpage 动态添加item

    4. **动态添加item**:为了实现动态添加item,你需要提供一个接口或使用观察者模式,使得`ViewPager`中的`GridView`能够接收新的数据并调用适配器的`notifyDataSetChanged()`方法更新视图。这可以发生在后台线程中,...

Global site tag (gtag.js) - Google Analytics