栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

定制ListView的界面

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

定制ListView的界面

如果ListView只能出现字,那就太单调拉。现在我们来实现ListView的定制。

主要步骤:

  1. 建类

  2. 建Adapter

  3. 在主页面使用adapter

接下来,敲代码,假设我们有一个房子类:

package com.example.listviewapplication;

import android.widget.ImageView;

public class Room {
    private String txt;
    private int img;

    public Room() {
    }

    public Room(String txt, int img) {
        this.txt = txt;
        this.img = img;
    }

    public String getTxt() {
        return txt;
    }

    public void setTxt(String txt) {
        this.txt = txt;
    }

    public int getImg() {
        return img;
    }

    public void setImg(int img) {
        this.img = img;
    }
}

接着,是RoomAdapter:

package com.example.listviewapplication;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

import java.util.List;

public class RoomAdapter extends ArrayAdapter {
    private int resourceId;
    public RoomAdapter(@NonNull Context context, int resource, @NonNull List objects) {
        super(context, resource, objects);
        resourceId = resource;
    }

    @NonNull
    @Override
    public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
        Room room = getItem(position);//获取当前项的room实例
        View view = LayoutInflater.from(getContext()).inflate(resourceId,parent,false);
        ImageView roomImg = view.findViewById(R.id.img);
        TextView roomTxt = view.findViewById(R.id.txt);
        roomImg.setImageResource(room.getImg());
        roomTxt.setText(room.getTxt());

        return view;
    }
}

接着主页面实现:

package com.example.listviewapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;

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

public class MainActivity extends AppCompatActivity {
    private List roomList = new ArrayList<>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initRoom();
        RoomAdapter adapter = new RoomAdapter(MainActivity.this,R.layout.simple_item,roomList);
        ListView listView = (ListView)findViewById(R.id.list_view);
        listView.setAdapter(adapter);




    }

    private void initRoom() {
        for(int i =0;i<2;i++){
            Room room1 = new Room("room1", R.mipmap.try_1);
            roomList.add(room1);
            Room room2 = new Room("room2", R.mipmap.try_2);
            roomList.add(room2);
            Room room3 = new Room("room3", R.mipmap.try_3);
            roomList.add(room3);
            Room room4 = new Room("room4", R.mipmap.try_4);
            roomList.add(room4);

        }
    }


}


layout_item:



    
        
        

    


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/236950.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号