有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java无法实例化PopupMenu类型。OnMenuItemClickListener

现在,我正在尝试使用Android 3.0(API 11)ECLIPSE执行另一个弹出项目。 但我有错误。无法实例化类型PopupMenu。OnMenuItemClickListener主活动。爪哇

&

类型PopupMenu中的方法getMenuInflater()不适用于参数(int,Object)MainActivity。java)
任何帮助都将不胜感激。谢谢

package com.example.indicationsss;

import 安卓.os.Bundle;
import 安卓.app.Activity;
import 安卓.view.Menu;
import 安卓.view.MenuItem;
import 安卓.view.View;
import 安卓.widget.PopupMenu;
import 安卓.widget.Toast;

public class MainActivity extends Activity {

     @Override
     public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_main);
     }

     public void onPopupBtClick (View view) {
          PopupMenu menu = new PopupMenu(this, view);
      menu.getMenuInflater().inflate(R.menu.activity_main, menu.getMenu());
      menu.setOnMenuItemClickListener(**new PopupMenu.OnMenuItemClickListener**());
     }

     public boolean onMenuItemClick(MenuItem item) {
          Toast toast = Toast.makeText (MainActivity.this,
            item.getTitle() + "was pressed",
            Toast.LENGTH_SHORT);
          toast.show();
          return true;
     }
}

共 (1) 个答案

  1. # 1 楼答案

    在onPopupPtlick()中,声明您自己的popupListener接口,如下所示:menu.setOnMenuItemClickListener(popupListener );

    然后在活动的其他位置(但在OnPopupUptClick()之外)实现接口:

    private PopupMenu.OnMenuItemClickListener popupListener = new PopupMenu.OnMenuItemClickListener() {
                      @Override
                      public boolean onMenuItemClick(MenuItem item) {
                         // etc., etc., 
                         ....
                      }
        }