如何通过单击上下文菜单选项打开图像视图?

时间:2013-01-30 20:03:39

标签: java android image click android-menu

我的主要活动中有一个上下文菜单,在选择或点击某个项目时会打开该菜单。当用户单击上下文菜单中列出的其中一个字符串时,如何显示图像?我只有用Java编写的上下文菜单而不是xml。这是代码。

package com.carouseldemo.main;

import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;

import com.carouseldemo.controls.Carousel;
import com.carouseldemo.controls.CarouselAdapter;
import com.carouseldemo.controls.CarouselAdapter.AdapterContextMenuInfo;
import com.carouseldemo.controls.CarouselAdapter.OnItemClickListener;
import com.carouseldemo.controls.CarouselAdapter.OnItemSelectedListener;
import com.carouseldemo.controls.CarouselItem;

public class MainActivity extends Activity {
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
    // Just prepare ourself for unexpected arguments...
    if (menuInfo == null) {
        return;
    }
    if (!(menuInfo instanceof AdapterContextMenuInfo)) {
        return;
    }
    AdapterContextMenuInfo mi = (AdapterContextMenuInfo)menuInfo;
    switch (mi.position) {
    case 0:
        menu.add("Product 1");
        menu.add("Product 1");
        menu.add("Product 1");
        menu.add("Product 1");
        menu.add("Product 1");
        menu.add("Product 1");
        menu.add("Product 1");
        menu.add("Product 1");
        menu.add("Product 1");
        menu.add("Product 1");
        menu.add("Product 1");
        menu.add("Product 1");
        menu.add("Product 1");
        menu.add("Product 1");
        break;
    case 1:
        menu.add("Product 1");
        menu.add("Product 1");
        menu.add("Product 1");
        menu.add("Product 1");
        menu.add("Product 1");
        break;
    case 2:
        menu.add("Product 1");
        menu.add("Product 1");
        menu.add("Product 1");
        menu.add("Product 1");
        menu.add("Product 1");
        break;
    case 3:
        menu.add("mouse menu");
        menu.add("Product 1");
        menu.add("Product 1");
        menu.add("Product 1");
        menu.add("Product 1");
        break;
    case 4:
        menu.add("panda menu");
        menu.add("Product 1");
        menu.add("Product 1");
        menu.add("Product 1");
        menu.add("Product 1");
        break;
    case 5:
        menu.add("rabbit menu");
        menu.add("Product 1");
        menu.add("Product 1");
        menu.add("Product 1");
        break;
    default:
        break;
    }
    super.onCreateContextMenu(menu, v, menuInfo);
}

单击menu.add中的“Product 1”之一时,如何弹出图像视图?有什么想法吗?先感谢您。

1 个答案:

答案 0 :(得分:0)

你可以尝试:

menu.onClick(new OnClickListener() {
    public void onClick() {
    // Do Something here
    }
});

此外,作为ContextMenu的一部分,您将拥有findItem(int item),您可以覆盖它并返回您选择的项目。