安卓之高级控件Listview的优化
来源:互联网 发布:java开发实例1200 pdf 编辑:程序博客网 时间:2024/06/16 18:12
版权声明:本文为博主原创文章,未经博主允许不得转载。
效果图如下:
XML代码(activity_main)如下:
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical" android:layout_width="match_parent"
- android:layout_height="match_parent">
- <ListView
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:id="@+id/lv_main_list"></ListView>
- </LinearLayout>
XML代码(itemtag)如下(用来优化的):
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="horizontal"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:descendantFocusability="blocksDescendants">
- <ImageView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:id="@+id/iv_main_image"/>
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:id="@+id/tv_main_word"/>
- <Button
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="下载"
- android:id="@+id/bu_main_bu"/>
- </LinearLayout>
JAVA代码如下(ItemTag):
可以把它想象成一个实体类
- public class ItemTag {
- public ImageView imageView;
- public TextView textView;
- public Button button;
- }
Java代码如下(MainActivity):
- public class MainActivity extends AppCompatActivity {
- private ListView lv_main_list;
- private int images[]={R.drawable.bird,R.drawable.cat,R.drawable.chicken,R.drawable.duck,R.drawable.elephant};
- private String titles[]={"小鸟","猫咪","小鸡","鸭子","大象"};
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- lv_main_list = (ListView) findViewById(R.id.lv_main_list);
- lv_main_list.setAdapter(new MyAdapter());
- lv_main_list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
- @Override
- public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
- Toast.makeText(MainActivity.this, "跳转到"+titles[position]+"页面", Toast.LENGTH_SHORT).show();
- }
- });
- }
- class MyAdapter extends BaseAdapter{
- @Override
- public int getCount() {
- return titles.length;
- }
- @Override
- public Object getItem(int position) {
- return titles[position];
- }
- @Override
- public long getItemId(int position) {
- return position;
- }
- @Override
- public View getView(final int position, View convertView, ViewGroup parent) {
- if(convertView==null){
- convertView=getLayoutInflater().inflate(R.layout.itemtag,null);
- ItemTag itemTag=new ItemTag();
- itemTag.imageView= (ImageView) convertView.findViewById(R.id.iv_main_image);
- itemTag.textView= (TextView) convertView.findViewById(R.id.tv_main_word);
- itemTag.button = (Button) convertView.findViewById(R.id.bu_main_bu);
- convertView.setTag(itemTag);
- }
- ItemTag itemTag= (ItemTag) convertView.getTag();
- itemTag.imageView.setImageResource(images[position]);
- itemTag.textView.setText(titles[position]);
- itemTag.button.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Toast.makeText(MainActivity.this, "正在下载"+titles[position], Toast.LENGTH_SHORT).show();
- }
- });
- return convertView;
- }
- }
- }
阅读全文
0 0
- 安卓之高级控件Listview的优化
- 安卓之高级控件Listview的优化
- 安卓控件之ListView
- 安卓控件 listView 的学习及优化 (ConvetView、viewHolder)
- 安卓高级控件3之RecyclerView的使用
- 安卓高级控件3之RecyclerView的使用
- 学习笔记之安卓的显示控件ListView
- 安卓的控件之AutoCompleteTextView,ListView,Menu,Dialog
- 8.高级控件(二)之ListView优化
- Android高级控件之ListView的优化以及下拉刷新页面
- 安卓高级控件之ViewPager
- 安卓高级控件之ViewPager
- 安卓开发之ListView优化方案
- 安卓开发之listView优化篇
- 安卓高级控件
- Android高级控件之ListView
- 安卓ListView的性能优化
- Windows应用程序高级控件之ListView控件
- ISO8583报文协议
- java——类——final
- 权限列表
- 安卓高级控件3之RecyclerView的使用
- caffe-windows 训练mnist数据集
- 安卓之高级控件Listview的优化
- 单选框RadioGroup,单选按钮RadioButton的使用
- iOS 内购详解
- 多线程(4)控制线程
- 服务器维护过程中踩过的坑儿
- POJ分类很好很有层次感
- 卓常用控件3之图片框(ImageView)
- Android—activity
- 哈希,编码, 加密的区别!