我有一个用SimpleCursorAdapter填充的ListView.对于我列表中的每一项,按此顺序:TextView> RatingBar>文字检视> ImageView的.我想在ImageView上添加一个按钮,但是我不知道该怎么做…
我在哪里填充ListView:
adapter = new SimpleCursorAdapter(this, R.layout.beerdrunk, cursor,
new String[] { "beers", "notes", "numbers" }, new int[] {
R.id.champName, R.id.champNote, R.id.champDrunk });
adapter.setViewBinder(binder);
list = (ListView) findViewById(R.id.listMyBeers);
list.setItemsCanFocus(true);
list.setOnItemClickListener(onClickBeer);
list.setAdapter(adapter);
OnItemClickListener:
private OnItemClickListener onClickBeer = new OnItemClickListener() {
@Override
public void onItemClick(AdapterView> arg0, View arg1, int arg2,
long arg3) {
System.out.println(""+ arg0);
System.out.println(""+ arg1);
System.out.println(""+arg2);
Intent newActivity = new Intent(MyBeers.this, DetailsBeer.class);
newActivity.putExtra("com.example.checkmybeer.DetailsBeer", ""
+ arg3);
startActivityForResult(newActivity, 0);
}
};
还有用于醉酒的XML:
android:layout_width="fill_parent"
android:layout_height="wrap_content">
android:id="@+id/champName"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="130"
android:gravity="center_vertical"
android:layout_gravity="center_vertical"
android:maxLines="3"
android:padding="5dp"
android:paddingRight="20dp"
android:singleLine="false"
android:text="@string/beerBook"
android:textColor="@color/black1"
android:textSize="20sp"
android:textStyle="bold" >
android:layout_width="1.5dip"
android:layout_height="fill_parent" />
android:id="@+id/champNote"
style="@style/beerRatingSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:isIndicator="true"
android:numStars="5"
android:layout_margin="1.5dp"
android:rating="5"
android:stepSize="0.10" >
android:layout_width="1.5dip"
android:layout_height="fill_parent" />
android:id="@+id/champDrunk"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="30"
android:gravity="right|center_vertical"
android:padding="5dp"
android:layout_marginLeft="5dp"
android:text="200"
android:textColor="@color/black1"
android:textSize="20sp"
android:textStyle="bold" />
android:layout_width="1.5dip"
android:layout_height="fill_parent" />
android:id="@+id/champPlusone"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|right"
android:layout_margin="5dp"
android:layout_weight="30"
android:gravity="right|center_vertical"
android:clickable="false"
android:src="@drawable/plus2" />
我已经尝试过类似的东西:
if(arg2 instanceof ImageView){
//do some stuff
}
但这不起作用…我如何知道在“行”中单击了哪个视图?