Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java android.widget.PopUpMenu出现问题_Java_Android_Android Widget_Popupmenu - Fatal编程技术网

Java android.widget.PopUpMenu出现问题

Java android.widget.PopUpMenu出现问题,java,android,android-widget,popupmenu,Java,Android,Android Widget,Popupmenu,我正在努力获得一个Android中弹出菜单的运行示例。据我所知,我所有的资源XML文件都设置正确,我的代码似乎没有任何明显的错误。有人能看出我哪里出错了吗?这是我的密码: package com.damian.popupmenu; import android.annotation.TargetApi; import android.app.Activity; import android.os.Build; import android.os.Bundle; import android.v

我正在努力获得一个Android中弹出菜单的运行示例。据我所知,我所有的资源XML文件都设置正确,我的代码似乎没有任何明显的错误。有人能看出我哪里出错了吗?这是我的密码:

package com.damian.popupmenu;

import android.annotation.TargetApi;
import android.app.Activity;
import android.os.Build;
import android.os.Bundle;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.PopupMenu;

public class MainActivity extends Activity{

    @TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
    @Override
    protected void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Button that acts as the view element for the pop up menu //
        final Button btn=(Button)findViewById(R.id.popupMenuBtn);

        // Creating a new instance of pop up menu //
        final PopupMenu popupMenu=new PopupMenu(this, btn);

        // inflate the menu using the resource in res/menu //
        popupMenu.inflate(R.menu.pop_menu);

        // calling show() on the menu to display when the button is clicked //
        btn.setOnClickListener(new View.OnClickListener(){  
            @Override
            public void onClick(View v){
                popupMenu.show();
            }
    });

        // Handling menu item clicks //
        popupMenu.setOnMenuItemClickListener(
                new PopupMenu.OnMenuItemClickListener(){
                    @Override
                    public boolean onMenuItemClick(MenuItem item){
                        switch(item.getItemId()){
                    case R.id.menu_red:btn.setBackgroundResource(R.color.LightRed);break;
                    case R.id.menu_green:btn.setBackgroundResource(R.color.LightGreen);break;
                    case R.id.menu_blue:btn.setBackgroundResource(R.color.DullBlue);break;
                    }

                    return true;
                }
            });

}
}
编辑:这是显示的完整日志类别

04-28 11:51:53.102: E/dalvikvm(514): Could not find class 'android.widget.PopupMenu', referenced from method com.damian.popupmenu.MainActivity.onCreate

04-28 11:51:53.102: W/dalvikvm(514): VFY: unable to resolve new-instance 986 (Landroid/widget/PopupMenu;) in Lcom/damian/popupmenu/MainActivity;

04-28 11:51:53.102: D/dalvikvm(514): VFY: replacing opcode 0x22 at 0x0012

04-28 11:51:53.102: D/dalvikvm(514): VFY: dead code 0x0014-002c in Lcom/damian/popupmenu/MainActivity;.onCreate (Landroid/os/Bundle;)V

04-28 11:51:53.142: D/AndroidRuntime(514): Shutting down VM

04-28 11:51:53.142: W/dalvikvm(514): threadid=1: thread exiting with uncaught exception (group=0x40015560)

04-28 11:51:53.153: E/AndroidRuntime(514): FATAL EXCEPTION: main

04-28 11:51:53.153: E/AndroidRuntime(514): java.lang.NoClassDefFoundError: android.widget.PopupMenu

04-28 11:51:53.153: E/AndroidRuntime(514):  at com.damian.popupmenu.MainActivity.onCreate(MainActivity.java:25)

04-28 11:51:53.153: E/AndroidRuntime(514):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)

04-28 11:51:53.153: E/AndroidRuntime(514):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)

04-28 11:51:53.153: E/AndroidRuntime(514):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)

04-28 11:51:53.153: E/AndroidRuntime(514):  at android.app.ActivityThread.access$1500(ActivityThread.java:117)

04-28 11:51:53.153: E/AndroidRuntime(514):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)

04-28 11:51:53.153: E/AndroidRuntime(514):  at android.os.Handler.dispatchMessage(Handler.java:99)

04-28 11:51:53.153: E/AndroidRuntime(514):  at android.os.Looper.loop(Looper.java:123)

04-28 11:51:53.153: E/AndroidRuntime(514):  at android.app.ActivityThread.main(ActivityThread.java:3683)

04-28 11:51:53.153: E/AndroidRuntime(514):  at java.lang.reflect.Method.invokeNative(Native Method)

04-28 11:51:53.153: E/AndroidRuntime(514):  at java.lang.reflect.Method.invoke(Method.java:507)

04-28 11:51:53.153: E/AndroidRuntime(514):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)

04-28 11:51:53.153: E/AndroidRuntime(514):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)

04-28 11:51:53.153: E/AndroidRuntime(514):  at dalvik.system.NativeStart.main(Native Method)

多亏了肯的提示,我解决了这个问题。当我需要在4.0+上运行该应用程序时,我正在使用2.2.3的模拟器上运行该应用程序。简单的解决方案是设置一个新的仿真器,重新启动eclipse,一切正常

我忘了提到问题所在:当我尝试运行它时,应用程序“强制关闭”!发布完整stacktraceadded完整日志cat打印输出请发布与api版本相关的清单内容,看起来您正试图在带有api的设备上运行应用程序11@kEN就是这样。。我试图在不支持足够高API的模拟器上运行它。。谢谢