亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

定制ListView的界面

標簽:
Java

如果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<Room> {
    private int resourceId;
    public RoomAdapter(@NonNull Context context, int resource, @NonNull List<Room> 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<Room> 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:

<?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">
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_margin="10dp"
        android:layout_height="wrap_content">
        <ImageView
            android:id="@+id/img"
            android:layout_width="100dp"
            android:layout_height="120dp"
            android:layout_margin="10dp"
            android:class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="@mipmap/try_1"/>
        <TextView
            android:id="@+id/txt"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Room"
            android:textColor="#000000"
            android:textSize="20dp"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:layout_marginRight="100dp"/>

    </RelativeLayout>

</LinearLayout>


點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消