[英]how to implement a long click listener and onclicklistener in single listview
我在android中創建一個應用程序。 在那我正在使用列表視圖。 現在我想要同時使用點擊事件和長按事件。 如果有可能可以幫助我做。
你只需要返回true
list.setOnItemLongClickListener(new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(final AdapterView<?> p, View v,final int po, long id) {
// your code
return true;
}
});
它基本上告訴系統已經處理了Long press事件(默認為false
),並且不需要處理其他事件(即單次按下,這在長按事件中無意中會發生)
看到這個
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> av, View v, int pos, long id) {
onListItemClick(v,pos,id);
}
});
..
lv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> av, View v, int pos, long id) {
return onLongListItemClick(v,pos,id);
}
});
您應該使用ListView.setOnItemClickListener
進行簡單的單擊。
對於長按,您可以選擇。 如果要執行單個操作,請使用ListView.setOnLongClickListener
。 如果需要上下文菜單,請注冊上下文菜單列表,創建菜單及其操作。
registerForContextMenu(ListView);
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
// menu code here
}
}
@Override
public boolean onContextItemSelected(MenuItem item) {
// menu habdling code here
return super.onContextItemSelected(item);
}
使用ListView.setOnItemClickListener(listener)和ListView.setOnItemLongClickListener(listener) http://developer.android.com/guide/topics/ui/layout/listview.html
只需在listview上使用setOnItemClickListener()
和setOnItemLongClickListener()
。
listView = (ListView) findViewById(R.id.listview);
listView.setOnItemClickListener(new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3){
}
});
listView.setOnItemLongClickListener(new OnItemLongClickListener()
{
@Override
public boolean onItemLongClick(AdapterView<?> arg0, View arg1, final int position, long arg3)
{
}
});
使用以下代碼。
list.setOnItemClickListener(this);
list.setOnItemLongClickListener(this);
監聽器定義將是:
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
// TODO Auto-generated method stub
}
public boolean onItemLongClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
return false;
}
itemToclick是可見部分,點擊你想要一些動作
itemToClick.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//do your logic on click
});
itemToClick.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
// do your logic for long click and remember to return it
return true; }});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.