日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android 动态contextmenu,在Android中使用ContextMenu与ListView

發布時間:2025/3/11 Android 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 动态contextmenu,在Android中使用ContextMenu与ListView 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

要從選定的ListView項中獲取該項,請參考ContextMenuInfo對象(請參見下面的最后一個實現方法)。完整解決方案如下:

1)在ListActivity類中為上下文菜單注冊ListView

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

// ...

getListView().setAdapter(mAdapter);

registerForContextMenu(getListView());

}

1a)如果列表上有復雜的視圖,則可能需要在Adapter類中的每個列表視圖上啟用長按

@Override

public View getView(int position, View convertView, ViewGroup parent) {

View view = convertView;

if (view == null) {

RelativeLayout layout = (RelativeLayout) LayoutInflater.from(mContext).inflate(R.layout.list_item, parent, false);

itemLayout = layout;

itemLayout.setLongClickable(true);

}

// ...

return view;

}

2)在ListActivity類中實現onCreateContextMenu()和onContextItemSelected()

@Override

public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {

super.onCreateContextMenu(menu, v, menuInfo);

AdapterContextMenuInfo info = (AdapterContextMenuInfo) menuInfo;

String title = ((MyItem) mAdapter.getItem(info.position)).getTitle();

menu.setHeaderTitle(title);

menu.add(Menu.NONE, MENU_CONTEXT_DELETE_ID, Menu.NONE, DELETE_TEXT);

}

@Override

public boolean onContextItemSelected(MenuItem item) {

switch (item.getItemId()) {

case MENU_CONTEXT_DELETE_ID:

AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();

Log.d(TAG, "removing item pos=" + info.position);

mAdapter.remove(info.position);

return true;

default:

return super.onContextItemSelected(item);

}

}

總結

以上是生活随笔為你收集整理的android 动态contextmenu,在Android中使用ContextMenu与ListView的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。