Skip to content

Commit ebedc46

Browse files
committed
Repair the long-click handling.
1 parent fd0bdac commit ebedc46

File tree

2 files changed

+18
-7
lines changed

2 files changed

+18
-7
lines changed

Diff for: ListViewDemos/res/menu/main_popup_menu.xml

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
<menu xmlns:android="http://schemas.android.com/apk/res/android">
22
<item android:id="@+id/order_takeout"
3-
android:title="@string/order_takeout"/>
3+
android:title="@string/order_takeout"
4+
android:onClick="doTakeOut"/>
45
<item android:id="@+id/order_eat_in"
5-
android:title="@string/order_eat_in"/>
6+
android:title="@string/order_eat_in"
7+
android:onClick="doEatIn"/>
68
</menu>

Diff for: ListViewDemos/src/com/listview/Main.java

+14-5
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,13 @@
44
import android.graphics.drawable.Drawable;
55
import android.graphics.drawable.GradientDrawable;
66
import android.os.Bundle;
7+
import android.view.MenuItem;
78
import android.view.View;
89
import android.view.View.OnClickListener;
9-
import android.view.View.OnLongClickListener;
1010
import android.widget.AbsListView;
1111
import android.widget.AdapterView;
1212
import android.widget.AdapterView.OnItemClickListener;
13+
import android.widget.AdapterView.OnItemLongClickListener;
1314
import android.widget.ArrayAdapter;
1415
import android.widget.ListView;
1516
import android.widget.PopupMenu;
@@ -54,16 +55,24 @@ public void onClick(View v) {
5455
Toast.LENGTH_LONG).show();
5556
}
5657
});
57-
OnLongClickListener longClickListener = new OnLongClickListener() {
58+
OnItemLongClickListener longClickListener = new OnItemLongClickListener() {
5859
@Override
59-
public boolean onLongClick(View view) {
60+
public boolean onItemLongClick(AdapterView<?> parent, View view,
61+
int position, long id) {
6062
PopupMenu p = new PopupMenu(Main.this, view);
6163
p.getMenuInflater().inflate(R.menu.main_popup_menu, p.getMenu());
6264
p.show();
6365
return true;
6466
}
6567
};
66-
myList.setOnLongClickListener(longClickListener);
67-
orderZone.setOnLongClickListener(longClickListener);
68+
myList.setOnItemLongClickListener(longClickListener);
6869
}
70+
71+
public void doEatIn(MenuItem mi) {
72+
Toast.makeText(this, "Your table will be ready soon", Toast.LENGTH_SHORT).show();
73+
}
74+
75+
public void doTakeOut(MenuItem mi) {
76+
Toast.makeText(this, "Please pick up at the take-out window", Toast.LENGTH_SHORT).show();
77+
}
6978
}

0 commit comments

Comments
 (0)