我怎樣才能抓住這樣的事件? onCreateContextMenu
非常相似,但我不需要菜單。如何處理長按ListView項?
回答
很難知道你需要實現什麼。但我的猜測是,你想對收到長按的項目執行一些操作。爲此,您有兩種選擇:
。
listView.setOnItemLongClickListener (new OnItemLongClickListener() {
public boolean onItemLongClick(AdapterView parent, View view, int position, long id) {
//do your stuff here
}
});
- 如果要創建一個自定義適配器,在方法Adapter#getView(...)
爲您的視圖添加自定義的View.OnLongClickListener。它可以被許多實例共享,然後您可以使用參數
onLongClick(View v)
知道哪個視圖已被點擊並作出相應的反應。
問候, 斯特凡
請問這個爛攤子了ListView的正常滾動/一扔功能創建視圖時添加View.OnLongClickListener? – 2011-06-01 18:26:53
奇怪,但它也不起作用。我這樣做:'公共類BridgesCloseActivity擴展ListActivity {... OnLongClickListener longClickListener; ... longClickListener = new OnLongClickListener(){ \t public boolean onLongClick(View v){ \t \t Log.i(「」,Integer.toString(v.getId())); \t \t return true; \t} };' – 2011-06-01 19:13:47
@LA_您可能需要讓onDown返回true。 – 2011-06-01 20:21:54
通常情況下,你會與一個上下文菜單,您可以通過與Activity.registerForContextMenu(View view)
註冊ListView控件做一個列表視圖長按關聯給其他更加一致的用戶界面體驗android應用程序。
,然後重寫onContextItemSelected方法在你的應用程序是這樣的:
@Override
public void onCreate(Bundle savedInstanceState) {
listView = (ListView) findViewById(R.id.your_list_view);
registerForContextMenu(listView);
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
menu.setHeaderTitle(getString(R.string.menu_context_title));
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.your_context_menu, menu);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
switch (item.getItemId()) {
case R.id.some_item:
// do something useful
return true;
default:
return super.onContextItemSelected(item);
}
在列表中的位置爲info.id
還舉行了如果你只是想要捕獲的長按事件,然後我想想Snicolas的建議會起什麼作用。
它不起作用。看起來像是因爲我沒有上下文菜單 - onContextItemSelected從不被調用。 – 2011-06-01 19:04:50
我更新了代碼示例。你調用了'registerForContextMenu(listView)'嗎?正如其他人所說的,你是在試圖在項目被長時間點擊時嘗試獲得某些東西,或者你想要爲列表視圖上的項目獲取上下文菜單嗎? – 2011-06-01 19:55:03
我試圖開始另一項活動,當該項目被長時間點擊。所以,不需要顯示上下文菜單。 'RegisterForContextMenu(listView)'在那裏。 – 2011-06-01 19:59:07
//Deleted individual cart items
//on list view cell long press
cartItemList.setOnItemLongClickListener (new OnItemLongClickListener() {
@SuppressWarnings("rawtypes")
public boolean onItemLongClick(AdapterView parent, View view, final int position, long id) {
final CharSequence[] items = { "Delete" };
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle("Action:");
builder.setItems(items, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
cart = cartList.get(position);
db.removeProductFromCart(context, cart);
new AlertDialog.Builder(context)
.setTitle(getString(R.string.success))
.setMessage(getString(R.string.item_removed))
.setPositiveButton("Done", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Intent intent = new Intent(CartDetailsActivity.this, HomeScreen.class);
startActivity(intent);
}
})
.show();
}
});
AlertDialog alert = builder.create();
alert.show();
//do your stuff here
return false;
}
});
- 1. 如何處理PanResponder長按事件?
- 2. android:如何增加android的listview項的長按時間?
- 3. 如何處理長按媒體按鈕,以啓動活動?
- 4. 如何禁用長的ListView項單擊
- 5. 如何處理Android ListView的項目點擊按鈕和特定區域?
- 6. 處理ListView longClick
- 7. android-在ListView中處理項目點擊
- 8. ListView項目選擇和異常處理
- 9. 如何訪問和處理ListView項目中的視圖?
- 10. 長按不ListView控件
- 11. 在單個UITabBarItem上處理長按
- 12. 如何處理ListView中的ViewStub
- 13. 如何處理事件點擊和長按gridview android?
- 14. 如何處理事件時,長按Windows鍵wp8
- 15. 如何按日期排序ListView項目
- 16. 如何讓按鈕點擊ListView項目?
- 17. 如何按值項目的順序處理python字典項目?
- 18. 如何處理組合框中非常長的文本項目
- 19. 如何處理託管選項菜單對話框中的listView項目更改?
- 20. 如何處理Python的長期進口
- 21. 如何處理多個$ _GET的長URL?
- 22. 如何處理SQL中的長比較
- 23. Python FileNotFoundError如何處理長文件名
- 24. 如何在listview中點擊listview項目按鈕啓動相機?
- 25. Windows批處理按長度分割長字符串64
- 26. Android Listview時長按一個ContextMenu顯示刪除文件選項
- 27. Win10 UWP應用程序處理長按回退按鈕
- 28. 如何在ListView上長按傳遞變量?
- 29. wxFrame不處理選項卡按鈕
- 30. 如何使用MVVM處理ListView的itemView中的按鈕的啓用/禁用?
可以請你澄清如何將OnItemLongClickListener分配給我的ListView?先謝謝你。 – 2011-06-01 20:14:42
@LA_參見上文。 – Aleadam 2011-06-01 20:54:44
謝謝,它完美的作品。我怎樣才能獲得特定的數據庫價值,與長期點擊的項目相關聯?應該像'this.getListAdapter()。getItem(position)'? – 2011-06-02 11:31:12