我有自定义适配器的ListView。 Listview不可点击,但setOnItemLongClickListener正常工作。 ListView row.xml如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="1" >
<ImageView
android:id="@+id/ivTourImage"
android:layout_width="120dp"
android:layout_height="match_parent" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:weightSum="1">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:orientation="horizontal"
android:weightSum="1">
<TextView
android:id="@+id/lblTourName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:text="Tour Name" />
<RatingBar
android:id="@+id/ratingBarTourStarCount"
style="@style/hotelRatingBarSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:focusable="false"
android:isIndicator="true"
android:numStars="5"
android:stepSize="1.0" />
</RelativeLayout>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:orientation="horizontal"
android:weightSum="1">
<TextView
android:id="@+id/lblPlace"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:text="Place" />
<TextView
android:id="@+id/lblPrice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:background="#b6fffa12"
android:text="Price"
android:textColor="#ff4770ff" />
</RelativeLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:orientation="horizontal"
android:weightSum="1">
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="16dp"
android:src="@drawable/adult_icon_16x16" />
<TextView
android:id="@+id/lblAdultCount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Adult" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="16dp"
android:layout_marginLeft="15dp"
android:src="@drawable/children_icon_16x16" />
<TextView
android:id="@+id/lblChildCount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Child" />
<ImageView
android:id="@+id/imageView3"
android:layout_width="wrap_content"
android:layout_height="16dp"
android:layout_marginLeft="15dp"
android:src="@drawable/meal_icon_16x16" />
<TextView
android:id="@+id/lblMealCount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Meal" />
</LinearLayout>
</LinearLayout>
ListView用法:
<LinearLayout
android:id="@+id/tabTourList"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<ListView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/listViewTourAnounce"
android:layout_gravity="center"/>
</LinearLayout>
如何使我的listview可点击?请帮帮我
答案 0 :(得分:1)
尝试使用此代码它可以帮助您。
ListView roomsList
List<String> roomlistdata;
roomlistdata = new ArrayList<String>();
roomsList = (ListView) findViewById(R.id.roomsList);
roomlistdata.add("your data");
ArrayAdapter<String> str = new ArrayAdapter<String>(
getBaseContext(),
android.R.layout.simple_list_item_1,
roomlistdata);
roomsList.setAdapter(str);
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,long arg3) {
view.setSelected(true);
String UserSelected = ((TextView) view).getText().toString();
...//contests_listView is a array list
}
}