為Android ListView 建立自訂行項目:詳細指南
在本文中,我們將探討如何建立自訂行項目對於Android應用程式中的ListView。
挑戰
我們有一個ListView,需要具有以下佈局的行:
HEADER Text
“HEADER”文本保持靜態,而“Text ”內容動態變化。
初始方法
最初,我們嘗試填充一個字串數組,將其傳遞給ArrayAdapter,並在每次資料更改時設定它:
data_array = populateString(); adapter = new ArrayAdapter<string>(this, android.R.layout.simple_list_item_1, android.R.id.text1, data_array); listView.setAdapter(adapter);</string>
但是,這種方法沒有提供期望的結果,因為現有佈局無法以指定格式顯示資料。
自訂行佈局
為了克服此限制,我們將為行項目建立自訂版面:
row.xml:
<code class="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="match_parent" android:orientation="vertical"> <textview android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Header"></textview> <textview android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/text"></textview> </linearlayout></code>
主要XML 佈局
接下來,調整主要XML 版面配置以包含ListView:
<code class="xml"><?xml version="1.0" encoding="utf-8"?> <linearlayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal"> <listview android:id="@+id/listview" android:layout_width="fill_parent" android:layout_height="fill_parent"> </listview> </linearlayout></code>
適配器
我們現在定義適配器:<code class="java">class yourAdapter extends BaseAdapter { // ... (the adapter code) ... @Override public View getView(int position, View convertView, ViewGroup parent) { // ... (customizing view) ... TextView text = (TextView) vi.findViewById(R.id.text); text.setText(data[position]); return vi; } }</code>
Java Activity
最後,在Java 活性中:<code class="java">public class StackActivity extends Activity { // ... (the activity code) ... @Override public void onCreate(Bundle savedInstanceState) { // ... (setting up listview) ... listview.setAdapter(new yourAdapter(this, new String[] { "data1", "data2" })); } }</code>透過執行以下步驟,您可以為ListView 建立自訂行項目,從而在資料呈現方面提供更大的靈活性和自訂性。
以上是如何在 Android ListView 中自訂行項目:逐步指南?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文討論了使用Maven和Gradle進行Java項目管理,構建自動化和依賴性解決方案,以比較其方法和優化策略。

本文使用Maven和Gradle之類的工具討論了具有適當的版本控制和依賴關係管理的自定義Java庫(JAR文件)的創建和使用。

本文討論了使用咖啡因和Guava緩存在Java中實施多層緩存以提高應用程序性能。它涵蓋設置,集成和績效優勢,以及配置和驅逐政策管理最佳PRA

本文討論了使用JPA進行對象相關映射,並具有高級功能,例如緩存和懶惰加載。它涵蓋了設置,實體映射和優化性能的最佳實踐,同時突出潛在的陷阱。[159個字符]

Java的類上載涉及使用帶有引導,擴展程序和應用程序類負載器的分層系統加載,鏈接和初始化類。父代授權模型確保首先加載核心類別,從而影響自定義類LOA


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

記事本++7.3.1
好用且免費的程式碼編輯器

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

SublimeText3漢化版
中文版,非常好用