博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android 32 Gallery:横着滚动的列表
阅读量:6606 次
发布时间:2019-06-24

本文共 4142 字,大约阅读时间需要 13 分钟。

Gallery:横着滚动的列表

 mainActivity.java

package com.sxt.day05_01;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.AdapterView.OnItemLongClickListener;import android.widget.BaseAdapter;import android.widget.Gallery;import android.widget.GridView;import android.widget.ImageView;import android.widget.ListView;import android.widget.TextView;import android.widget.Toast;import com.sxt.day05_01.entity.GeneralBean;public class MainActivity extends Activity {    Gallery mGallery;    List
mGenerals;//代表十个军事家的集合 GeneralAdapter mAdapter; int[] resid={ R.drawable.baiqi,R.drawable.caocao,R.drawable.chengjisihan, R.drawable.hanxin,R.drawable.lishimin,R.drawable.nuerhachi, R.drawable.sunbin,R.drawable.sunwu,R.drawable.yuefei, R.drawable.zhuyuanzhang }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initData();//初始化数据 initView(); setListener(); } private void setListener() { setOnItemClickListener(); setOnItemLongClickListener(); } private void setOnItemLongClickListener() { mGallery.setOnItemLongClickListener(new OnItemLongClickListener() { @Override public boolean onItemLongClick(AdapterView
parent, View view, int position, long id) { Toast.makeText(MainActivity.this, mGenerals.get(position).getName()+"被长按", 2000).show(); return true; } }); } private void setOnItemClickListener() { mGallery.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView
parent, View view, int position, long id) { Toast.makeText(MainActivity.this, mGenerals.get(position).getName()+"被短按", 2000).show(); } }); } private void initView() { mGallery=(Gallery) findViewById(R.id.galleryGeneral); mAdapter=new GeneralAdapter();//创建适配器 mGallery.setAdapter(mAdapter);//关联适配器 } private void initData() { //将资源中的字符串组数转换为Java数组 String[] names=getResources().getStringArray(R.array.generals); mGenerals=new ArrayList
(); for (int i = 0; i < names.length; i++) { GeneralBean bean=new GeneralBean(resid[i], names[i]); mGenerals.add(bean); } } //适配器 class GeneralAdapter extends BaseAdapter{ @Override public int getCount() { return Integer.MAX_VALUE;//设置Gallery的长度为21亿,使得水平滚动的列表到最后的时候又从第一个开始 } @Override public GeneralBean getItem(int position) { return mGenerals.get(position); } @Override public long getItemId(int position) { return position; } @Override //滚动的时候显示Gallery中第position位置的单个布局,position从0到21亿,使得水平滚动的列表到最后的时候又从第一个开始 public View getView(int position, View convertView, ViewGroup parent) { //拿到ListViewItem的布局,转换为View类型的对象 View layout=View.inflate(MainActivity.this, R.layout.item_generals, null); ImageView ivThumb=(ImageView) layout.findViewById(R.id.ivThumb); TextView tvName=(TextView) layout.findViewById(R.id.tvName); //position%mGenerals.size()使得水平滚动的列表到最后的时候又从第一个开始 GeneralBean bean=mGenerals.get(position%mGenerals.size()); ivThumb.setImageResource(bean.getResid()); tvName.setText(bean.getName()); return layout;//返回第position位置的单个布局,也就是item_generals.xml的LinearLayout } }}

main.xml

item_generals.xml

GeneralBean.java

public class GeneralBean {    private int resid;//图片的id值    private String name;//军事家的姓名    public int getResid() {        return resid;    }

 

转载地址:http://dofso.baihongyu.com/

你可能感兴趣的文章
rabbitmq 管理及常用命令
查看>>
iphone导航控制器的开发与使用
查看>>
debian python library re-install
查看>>
如何用转义来给JS添加的input元素设置单引号
查看>>
J2E——网络编程练习
查看>>
VirtualBox移植
查看>>
HTTP要被抛弃? 亚洲诚信携手宝塔开启HTTPS加密快速通道
查看>>
Chrome: 完全移除对WoSign和StartCom证书的信任
查看>>
RecyclerView侧滑删除功能
查看>>
记一个hystrix异常
查看>>
9.02-Spring IOC 容器中Bean的生命周期
查看>>
6.6 tar打包
查看>>
微信自动抢红包的实现(Demo已增加查看TopActivity功能)
查看>>
Spring MVC核心技术
查看>>
TCP协议如何保证传输的可靠性
查看>>
Spring Cloud云架构 - SSO单点登录之OAuth2.0 登出流程(3)
查看>>
建站心得之discuz门户程序相比ZBLOG具有哪些优势[图]
查看>>
编程之美 测试赛 石头剪刀布
查看>>
签名问题
查看>>
软件开发各阶段交付物列表
查看>>