博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ListView
阅读量:6237 次
发布时间:2019-06-22

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

package com.zyeq.cxsw.listview_3;import android.graphics.Color;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.ListView;import android.widget.TextView;import android.widget.Toast;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;public class MainActivity extends AppCompatActivity {    private int[] ids={R.drawable.img_1,R.drawable.img_2,R.drawable.img_3,R.drawable.img_4,R.drawable.img_5,R.drawable.img_6,R.drawable.img_7,R.drawable.img_8,R.drawable.img_9,R.drawable.img_10};    private ListView listView;    private List
> data = new ArrayList<>(); private int temp; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView = (ListView) this.findViewById(R.id.listView); /*加载数据*/ data=loadData(); /*创建适配器*/ MyAdapter adapter=new MyAdapter(); /*设置适配器*/ listView.setAdapter(adapter); } /*使用BasicAdapter*/ class MyAdapter extends BaseAdapter { /*返回数据的条数*/ @Override public int getCount() { return data.size(); } /*返回一个对象*/ @Override public Object getItem(int position) { return null; } /*返回代表当前item项的id*/ @Override public long getItemId(int position) { return position; } /**/ @Override public View getView(int position, View convertView, ViewGroup parent) { temp=position; /*将布局转化为一个View对象*/ /*1.获取布局加载器*/ /*ListView的优化操作:1.复用布局 2.减少findViewById的次数 * */ View view=convertView; ViewHolder viewHolder; if(view==null){ view = getLayoutInflater().inflate(R.layout.list_item, parent, false); /*从布局文件中获取UI控件*/ viewHolder=new ViewHolder(); TextView textView= (TextView) view.findViewById(R.id.name); ImageView imageView= (ImageView) view.findViewById(R.id.logo); viewHolder.setImageView(imageView); viewHolder.setTextView(textView); view.setTag(viewHolder); } viewHolder= (ViewHolder) view.getTag(); viewHolder.getTextView().setText(data.get(position).get("name")); /*为图片设置监听器*/ viewHolder.getImageView().setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(getApplicationContext(), "id:" + data.get(temp).get("logo"), Toast.LENGTH_SHORT).show(); } }); /*设置字体的颜色*/ if(position==9){ viewHolder.getTextView().setTextColor(Color.RED); } viewHolder.getImageView().setImageResource(Integer.parseInt(data.get(position).get("logo"))); return view; } /*封装控件*/ class ViewHolder{ private TextView textView; private ImageView imageView; public TextView getTextView() { return textView; } public void setTextView(TextView textView) { this.textView = textView; } public ImageView getImageView() { return imageView; } public void setImageView(ImageView imageView) { this.imageView = imageView; } } } /*需要的数据源*/ public List
> loadData() { List
> list = new ArrayList<>(); Map
map = null; for (int i = 1; i <= 1000; i++) { map=new HashMap<>(); map.put("name", "user" + i); map.put("logo",""+ids[i%10]); list.add(map); } return list; }}

 

转载于:https://www.cnblogs.com/yaboya/p/5341473.html

你可能感兴趣的文章
scikit-learn预处理实例之一:使用FunctionTransformer选择列
查看>>
邮件客户端导入邮件通讯录地址薄
查看>>
Linux系统安装
查看>>
Cassandra监控 - OpsCenter手册
查看>>
一些关于写Java代码的建议
查看>>
网络社交如何保护个人隐私?做好这4步
查看>>
SQL*Plus中的Echo
查看>>
SEO基础知识8大精华文章之第一篇(连载)
查看>>
面向sql编程
查看>>
对前面的自定义的toast制作拖拽效果,以及双击居中效果
查看>>
如何规划构建一套大型的Citrix桌面虚拟化架构 - 后记
查看>>
animationFromTop
查看>>
SEM如何做数据分析?
查看>>
语音转文字如何在线转换的?
查看>>
PXE批量实现自动化安装系统
查看>>
tomcat内存溢出的解决方法(java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError:)...
查看>>
为域用户创建漫游用户配置文件
查看>>
sql server 第二讲
查看>>
什么是壳 - 脱壳篇01
查看>>
数据库基础
查看>>