1

アイテムを選択またはクリックすると開くメイン アクティビティのコンテキスト メニューがあります。ユーザーがコンテキスト メニューにリストされている文字列の 1 つをクリックすると、画像が表示されるようにするにはどうすればよいですか? xml ではなく、Java で記述されたコンテキスト メニューしかありません。これがコードです。

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」のいずれかをクリックすると、画像ビューがポップアップ表示されるようにするにはどうすればよいですか? これに関するアイデアはありますか?前もって感謝します。

4

1 に答える 1

0

試してみてください:

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

また、ContextMenu の一部として、オーバーライドして選択した項目を返すことができる findItem(int item) があります。

于 2013-01-30T20:28:05.330 に答える