標籤:
之前我們為app在item項上添加了點擊出現修改對話方塊,對店名進行修改的功能,其中我們會發現我們點擊item和點擊item上的按鈕會有點擊衝突。這次我們來修正下這個問題,同時介紹item項的長按點擊OnItemLongClickListener()。 解決這個問題只需要修改對應item的xml檔案上的兩個屬性,首先是item的布局上的設定:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:descendantFocusability="blocksDescendants" >
其次是在點擊的button上進行修改:
<Button android:id="@+id/item_btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_centerInParent="true" android:focusable="false" android:clickable="true" android:text="刪除"/>
之後就可以對item和button進行不同的點擊處理:
@Overridepublic void onItemClick(AdapterView<?> arg0, View arg1, final int position,long id) {//item點擊事件 比如修改店名
} button做刪除資料的操作:
btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { //刪除資料的方法 }); 最後介紹下長按item的OnItemLongClickListener():
shop_lv.setOnItemLongClickListener(new itemLongClick());
介面實現:
class itemLongClick implements OnItemLongClickListener{@Overridepublic boolean onItemLongClick(AdapterView<?> arg0, View arg1,int arg2, long arg3) {Log.e("OnItemLongClickListener","long clikc");return true;}} 這樣就能實現item的長按對應功能。
eatwhatApp開發實戰(九)