我有一個自定義列表視圖具有以下佈局(list_single.xml):Android的ListView控件 - 使用整排
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="match_parent" >
<TableRow android:layout_width="fill_parent">
<ImageView
android:id="@+id/img"
android:layout_width="64dp"
android:layout_height="64dp"/>
<TextView
android:id="@+id/txt"
android:textSize="24dp" android:textStyle="bold"
android:paddingTop="20dp" android:paddingLeft="10dp"
android:layout_width="fill_parent"
android:layout_height="64dp" />
</TableRow>
</TableLayout>
然後,我有一個CustomList 擴展類被分配這個佈局:
public class CustomList extends ArrayAdapter<String> {
private final Activity context;
private final String[] web;
private final Integer[] imageId;
public CustomList(Activity context,
String[] web, Integer[] imageId) {
super(context, R.layout.list_single, web);
this.context = context;
this.web = web;
this.imageId = imageId;
}
@Override
public View getView(int position, View view, ViewGroup parent) {
LayoutInflater inflater = context.getLayoutInflater();
View rowView= inflater.inflate(R.layout.list_single, null, true);
TextView txtTitle = (TextView) rowView.findViewById(R.id.txt);
ImageView imageView = (ImageView) rowView.findViewById(R.id.img);
txtTitle.setText(web[position]);
imageView.setImageResource(imageId[position]);
return rowView;
}
}
然後OnCreate事件處理程序中我添加一個偵聽器:
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
但是,行中唯一可點擊的區域是圖標,但我希望整行可點擊。我在這裏查了一些其他類似的問題,但我找不到TableLayout的解決方案。
謝謝你這麼多
對於它你應該使用'ListView'而不是'TableLayout'。 – 2015-04-06 06:13:32
是否有必要使用tableLayout? – Moudiz 2015-04-06 06:22:07
不知道我是否應該TableLayout,因爲我只是遵循明顯使用這種佈局的教程。 – 2015-04-06 06:25:35