摘要:Android - 基礎筆記(四) ListView圖文、按鈕

在三裡面使用了圖片、文字,而這次要再加上"按鈕"這類需要觸發事件的物件。
ListView3.java裡面直接繼承了 List 所以可以不用在layout裡面放任何ListView了,可以直接安排想要的版面。
而清單內的容器使用 BaseAdapter 這個需要另一個 class MyAdapter 來續承。
ListView3.java
package mouse.simple;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.app.AlertDialog;
import android.app.ListActivity;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
/** 直接 extends ListActivity */
public class ListView3 extends ListActivity {
private List
> mData;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mData = getData();
MyAdapter adapter = new MyAdapter(this);
setListAdapter(adapter);
}
// 設定資料
private List
listview3.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="horizontal">
<ImageView
android:src="@drawable/icon"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/img"></ImageView>
<LinearLayout
android:id="@+id/linearLayout1"
android:orientation="vertical"
android:layout_height="wrap_content"
android:layout_width="wrap_content">
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="TextView"
android:id="@+id/info"></TextView>
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="TextView"
android:id="@+id/title"></TextView>
</LinearLayout>
<Button
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Button"
android:id="@+id/view_btn"></Button>
</LinearLayout>
完整的程式碼 Basis_ListView.zip