中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

Android ItemList的自定義視圖如何創建

小樊
84
2024-09-08 12:02:37
欄目: 編程語言

在Android中,創建自定義視圖的方法有很多種

  1. 首先,在項目的res/layout文件夾下創建一個新的XML布局文件。例如,我們可以將其命名為item_list.xml。在這個文件中,定義列表項的布局:
<?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="wrap_content"
    android:orientation="horizontal"
    android:padding="8dp">

   <ImageView
        android:id="@+id/imageView"
        android:layout_width="48dp"
        android:layout_height="48dp"
        android:src="@drawable/ic_launcher_background" />

   <TextView
        android:id="@+id/textView"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:paddingLeft="8dp"
        android:text="Item Title"
        android:textSize="16sp" />
</LinearLayout>
  1. 接下來,創建一個名為MyAdapter的Java類,該類繼承自ArrayAdapter。在這個類中,我們將實現自定義視圖的邏輯:
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 java.util.List;

public class MyAdapter extends ArrayAdapter<String> {

    public MyAdapter(Context context, List<String> items) {
        super(context, 0, items);
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        if (convertView == null) {
            convertView = LayoutInflater.from(getContext()).inflate(R.layout.item_list, parent, false);
        }

        String item = getItem(position);

        ImageView imageView = convertView.findViewById(R.id.imageView);
        TextView textView = convertView.findViewById(R.id.textView);

        // 設置圖片和文本
        imageView.setImageResource(R.drawable.ic_launcher_background);
        textView.setText(item);

        return convertView;
    }
}
  1. 最后,在你的Activity或Fragment中,使用MyAdapter為ListView或RecyclerView設置適配器:
// 對于ListView
ListView listView = findViewById(R.id.listView);
List<String> items = new ArrayList<>();
items.add("Item 1");
items.add("Item 2");
items.add("Item 3");
MyAdapter adapter = new MyAdapter(this, items);
listView.setAdapter(adapter);

// 對于RecyclerView
RecyclerView recyclerView = findViewById(R.id.recyclerView);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
MyAdapter adapter = new MyAdapter(this, items);
recyclerView.setAdapter(adapter);

現在,你已經成功地為Android ItemList創建了一個自定義視圖。根據需要,你可以根據實際情況修改布局和適配器代碼。

0
台前县| 乌兰浩特市| 梁平县| 茂名市| 开封县| 微博| 罗定市| 如皋市| 日喀则市| 宁津县| 贡山| 宁波市| 台江县| 高邮市| 普定县| 新平| 侯马市| 徐闻县| 兰州市| 武宣县| 石棉县| 精河县| 泾源县| 崇文区| 达日县| 通海县| 丰原市| 个旧市| 吉隆县| 保康县| 云霄县| 甘孜| 茌平县| 巴彦淖尔市| 安达市| 边坝县| 平度市| 韩城市| 吉水县| 寻甸| 安义县|