我有一个网格视图,它的项目是由一个图标和两个textview形成的。我的项目代码如下我想为每个项目添加一个上下文菜单,就像在谷歌播放商店中使用的图像链接所提到的图像
<RelativeLayout
android:id="@+id/relativeLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@drawable/round_boutton"
android:orientation="vertical"
android:padding="5dp">
<ImageView
android:layout_height="96dp"
android:id="@+id/imageView1"
android:layout_width="96dp"
android:src="@drawable/icon"
android:layout_marginTop="15dp"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true">
</ImageView>
<LinearLayout
android:id="@+id/l1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/imageView1"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:layout_marginTop="15dp"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:paddingTop="4dp"
android:singleLine="true"
android:text="TextView1"
android:textColor="@color/orangemill"
android:layout_weight="1"
android:textSize="14dip" >
</TextView>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:textColor="@color/white"
android:maxLines="2"
android:layout_weight="1"
android:text="TextView2" >
</TextView>
</LinearLayout>
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:layout_below="@+id/l1"
android:background="@android:color/transparent" />
</RelativeLayout>
为菜单按钮/图像创建点击监听器,并添加创建、显示弹出式菜单的代码。然后为活动实现MenuItem点击监听器。
holder.menu_image.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
PopupMenu popupMenu = new PopupMenu(Activity.this, view);
popupMenu.setOnMenuItemClickListener(Activity.this);
popupMenu.setGravity(Gravity.END);
popupMenu.inflate(R.menu.menu_item);
popupMenu.show();
}
});
然后实现菜单项选择
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_edit:
//your code
break;
case R.id.action_delete:
//your code
return true;
}
return true;
}
Add实现了PopupMenu.OnMenuItemClickListener on the Activity.
试试这个…