TOP

Android连载3-定制ListView的界面、性能优化以及绑定点击事件(一)
2020-04-08 06:14:51 】 浏览:66次 本网站的内容取自网络,仅供学习参考之用,绝无侵犯任何人知识产权之意。如有侵犯请您及时与本人取得联系,万分感谢。
Tags:Android 连载 定制 ListView 界面 性能 优化 以及 绑定 点击 事件

一、订制ListView的界面

1.先建立一个Fruit水果类

 

package com.example.listviewtest;

?

?

public class Fruit {

  private String name;

 

  private int imageId;

 

  public Fruit(String name,int imageId) {

    this.name=name;

    this.imageId = imageId;

  }

  public String getName() {

    return name;

  }

  public int getImageId() {

    return imageId;

   

  }

}

 

?

2.然后建立一个展示水果的LayOut文件

 

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

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

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical" >

   

<ImageView

    android:id="@+id/fruit_image"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content" />

?

<TextView

    android:id="@+id/fruit_name"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:layout_gravity="center"

    android:layout_marginLeft="10dip" />

   

</LinearLayout>

 

?

然后新建一个FruitAdapter适配器,来继承ArrayAdapter

 

package com.example.listviewtest;

import android.widget.ArrayAdapter;

import android.widget.ImageView;

import android.widget.TextView;

import android.content.Context;

import java.util.List;

?

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

?

?

public class FruitAdapter extends ArrayAdapter<Fruit> {

  

  private int resourceId;

 

  public FruitAdapter(Context context,int textViewResourceId,List<Fruit> objects) {

    super(context,textViewResourceId,objects);

    resourceId = textViewResourceId;

  }

 

  @Override

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

    Fruit fruit = getItem(position);//获取当前项的Fruit实例

    View view = LayoutInflater.from(getContext()).inflate(resourceId,null);

    ImageView fruitImage = (ImageView) view.findViewById(R.id.fruit_image);

    TextView fruitName = (TextView) view.findViewById(R.id.fruit_name);

    fruitImage.setImageResource(fruit.getImageId());

    fruitName.setText(fruit.getName());

    return view;

   

  }

}

 

最后我们完善我们的主程序

 

package com.example.listviewtest;

?

import java.util.List;

?

import android.app.Activity;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

import android.widget.ArrayAdapter;

import android.widget.ListView;

import java.util.*;

//import java.lang.ArrayAdapter;

?

public class MainActivity extends Activity {

 

  private List<Fruit> fruitList = new ArrayList<Fruit>();

 

//  private String[] data = {"Apple","Banana","Orange","Watermelon","Pear","Grape","Pineapple","Strawberry","Cherry"};

 

  @Override

  protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

   

    initFruits();//初始化水果数据

    FruitAdapter adapter = new FruitAdapter(MainActivity.this,R.layout.fruit_item,fruitList);

   

//    Ar  
		

请关注公众号获取更多资料


Android连载3-定制ListView的界面、性能优化以及绑定点击事件(一) https://www.cppentry.com/bencandy.php?fid=98&id=283826

首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇浅谈Service中实现弹出对话框的坑 下一篇Flutter 不可错过的学习资源

评论

验 证 码:
表  情:
内  容: