`

实现网格GrvidView视图点击跳转Activity

 
阅读更多
package cn.hwttnet.com.ui;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import cn.hwttnet.com.adapter.GridAdapter;
import cn.hwttnet.com.bean.GridInfo;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.GridView;

public class MainActivity extends Activity {
	private GridView gridview;
	private GridAdapter adapter;
	Context context = MainActivity.this;
	Class<?> mActivities[] = { RegistrationActivity.class, AnnouncementActivity.class,
			WorkflowActivity.class
			,WorkLogActivity.class, };

	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {

		super.onCreate(savedInstanceState);
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		setContentView(R.layout.main);

	}

	void init() {

		gridview = (GridView) findViewById(R.id.gridview);
		adapter = new GridAdapter(getList(), context);
		gridview.setAdapter(adapter);
		gridview.setOnItemClickListener(new OnItemClickListener() {

			public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
					long arg3) {
				// TODO Auto-generated method stub
				onListItemClick(arg2);
			}

		});

	}

	void onListItemClick(int index) {
		if (index < 0 || index >= mActivities.length)
			return;
		Intent intent = new Intent(context, mActivities[index]);
		this.startActivity(intent);
	}

	protected void onStart() {
		super.onStart();
		init();
	}

	protected void onResume() {
		super.onResume();
	}

	ArrayList<GridInfo> getList() {
		ArrayList<GridInfo> list = new ArrayList<GridInfo>();
		GridInfo gif1 = new GridInfo();
		gif1.setImages(R.drawable.ic_launcher);
		gif1.setName("上班签到");
		GridInfo gif2 = new GridInfo();
		gif2.setImages(R.drawable.ic_launcher);
		gif2.setName("通知公告");
		GridInfo gif3 = new GridInfo();
		gif3.setImages(R.drawable.ic_launcher);
		gif3.setName("工作流");
		GridInfo gif4 = new GridInfo();
		gif4.setImages(R.drawable.ic_launcher);
		gif4.setName("工作日志");
		 
		list.add(gif1);
		list.add(gif2);
		list.add(gif3);
		list.add(gif4);
	 
		return list;

	}
}

 

package cn.hwttnet.com.adapter;

import java.util.ArrayList;
import java.util.List;


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;
import cn.hwttnet.com.bean.GridInfo;
import cn.hwttnet.com.ui.R;

public class GridAdapter extends BaseAdapter {
	ArrayList<GridInfo> list;
	Context context;
	 
	public GridAdapter(ArrayList<GridInfo> list,Context context) {
		this.list=list;
		this.context=context;
	}

	public int getCount() {
		// TODO Auto-generated method stub
		return  list.size();
	}

	public Object getItem(int position) {
		// TODO Auto-generated method stub
		return list.get(position);
	}

	public long getItemId(int position) {
		// TODO Auto-generated method stub
		return position;
	}

	public View getView(int position, View convertView, ViewGroup parent) {
		// TODO Auto-generated method stub
		if(convertView==null)
		{
			LayoutInflater layout=LayoutInflater.from(context);
			convertView=layout.inflate(R.layout.grid_item, null);
		}
		ImageView itemImg=(ImageView)convertView.findViewById(R.id.itemImage);
		TextView itemName=(TextView)convertView.findViewById(R.id.itemText);
		itemImg.setImageResource(list.get(position).getImages());
		itemName.setText(list.get(position).getName());
		return convertView;
	}

}

 

package cn.hwttnet.com.bean;

public class GridInfo {
	String name;
	int images;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getImages() {
		return images;
	}
	public void setImages(int images) {
		this.images = images;
	}

}

 

分享到:
评论

相关推荐

    在RecyclerView中实现item点击效果

    Adapter负责数据的绑定和提供视图,ViewHolder是为了提高性能而缓存的视图容器,LayoutManager则决定了视图的布局方式,如线性布局、网格布局等。 要实现item的点击效果,我们通常需要做以下几步: 1. **创建...

    RecyclerView点击事件

    在Android开发中,RecyclerView是一个非常重要的组件,它用于展示可滚动的列表...通过以上步骤,我们就能在RecyclerView中实现点击事件的监听和处理。理解并熟练掌握这些知识点,将有助于提升Android应用的用户体验。

    Android基础课内实验报告.doc

    学生通过创建计算器布局和联系人视图,实践了线性布局、相对布局、帧布局、绝对布局和表格布局等五大布局的使用,并深入学习了列表视图和网格视图的显示方式,以及适配器在视图中的应用。本实验不仅要求学生理解布局...

    点击gridview显示详细页

    通过以上步骤,你可以实现点击GridView中的任意一行数据,跳转到新闻详细页的功能。在实际开发中,根据具体需求,可能还需要处理其他细节,如错误处理、缓存机制、动画效果等。不断学习和实践,能够让你更好地掌握...

    RecyclerView实现复杂布局(如淘宝首页)

    - 在ViewHolder中添加点击事件监听,处理用户交互,如商品详情跳转、收藏、加入购物车等。 10. **响应式布局** - 结合ConstraintLayout、PercentLayout或FlexboxLayout等工具,实现不同屏幕尺寸下的自适应布局。 ...

    Android-通过RecyclerView实现的联系人

    这样,Activity或Fragment就可以根据回调处理点击事件,比如跳转到联系人详情页面。 通过这个项目,开发者可以学习到如何在Android应用中使用RecyclerView来展示动态数据,同时了解如何实现基本的搜索功能和点击...

    Android Studio实现个人记账系统源码.zip

    1-绘制布局,掌握android基本view控件的属性和使用 2-熟练掌握Activity页面展示,跳转和传值 3-使用碎片加载界面,滑动视图切换页面 4-自定义对话框 5-自定义软键盘绘制和使用 6-列表视图以及网格视图的适配器使用...

    adapter中使用startActivityForesult,在Activity 用 onActivityResult接受返回数据

    在Android开发中,Adapter是连接数据源与UI组件的关键角色,尤其在显示列表或网格视图等场景下。本示例关注的是如何在Adapter中利用`startActivityForResult()`方法启动一个新Activity,并在原Activity中通过`...

    Android应用程序工具导航栏实现

    当用户点击某个单元格时,可以通过设置OnItemClickListener监听事件来捕获点击事件,然后使用`startActivity()`或`startActivityForResult()`方法启动新的Activity,以实现功能页面的跳转。 此外,为了提高用户体验...

    recyclerview点击的小例子

    本示例将深入讲解如何在RecyclerView中实现点击事件的处理。 【描述】"示例演示了基本的RecyclerView设置以及如何添加点击监听" 在Android应用中,当用户与界面交互时,点击事件的处理至关重要。对于RecyclerView...

    GridView实现布局

    本篇文章将详细探讨如何在GridView中实现点击item后跳转到不同的GridView。 ### GridView的基本使用 1. **布局文件配置** 在XML布局文件中,我们需要定义一个GridView,通过`android:numColumns`属性设置列数,`...

    android Api demo

    Activity间的跳转可以通过Intent实现,Intent不仅能够启动Activity,还能启动服务或发送广播。同时,Activity还支持透明背景、主题设置以及导航栏自定义等高级特性,使应用的UI设计更加丰富多彩。 最后,我们提及...

    android瀑布流附带图片点击事件

    通过以上改造,用户在浏览瀑布流图片时,不仅可以欣赏到层次分明的视觉效果,还能通过点击直接触发相应的行为,如查看大图、跳转详情页等,从而提升应用的互动性和实用性。在实际开发中,开发者可以根据项目需求选择...

    recyleviewdemo

    实现点击事件通常有两种方式:一是通过设置OnClickListener在ViewHolder内部,二是通过在Adapter中实现一个接口,让Activity或Fragment来监听点击事件。当用户点击列表项时,会触发相应的回调方法,从而执行相应的...

    Animation渐变效果

    在标签"gridview"提及的网格视图(GridView),通常用于展示多行多列的数据,如图片库或菜单。尽管这个例子中没有直接涉及GridView,但你可以将渐变效果应用到GridView的每个单元格上,以创建更复杂的动态界面。 ...

    android 问题集

    使用Intent对象来实现Activity间的跳转,通过`setClass()`指定目标Activity,并用`startActivity()`启动。 【事件处理】 1. **系统事件**:如`onKeyDown()`用于处理按键事件。 2. **控件事件**:如`OnClickListener...

    android用GridView实现九宫格菜单

    在Android开发中,GridView是一种非常常用的布局控件,它能够以网格的形式展示数据,非常适合用来实现九宫格菜单。九宫格菜单通常用于应用程序的主界面,显示一系列图标和文字,用户点击图标即可进入相应的功能模块...

    RecycleView的实现

    在这个主题中,我们将深入探讨如何实现`RecycleView`,包括创建列表、网格布局以及瀑布流效果。 首先,我们要理解`RecycleView`的基本工作原理。它通过复用已显示过的视图项来提高性能,当用户滚动时,不再显示的...

    Android基本视图

    - GridLayout:网格布局,将视图均匀分布在一个网格中。 6. **常用包结构**: - `android.app` 包含Activity、Service等高层组件。 - `android.content` 提供ContentProvider、Intent等数据交换机制。 - `...

    gridGalleryDemo

    - 在"gridGalleryDemo"中,GridView可能被用来显示图片的缩略图,用户点击后会跳转到详细的图片展示。 2. Gallery: - Gallery是另一种可滚动的视图,它沿水平轴线展示子视图,常用于轮播图片或选择器场景。 - ...

Global site tag (gtag.js) - Google Analytics