无法与Spinner合作

时间:2011-12-23 13:11:10

标签: android android-activity android-intent spinner android-spinner

我试图用意图替换下面代码中的toast,但无论我尝试多少种方法都无法工作。在加载应用程序时,问题只不过是模拟器上的白屏。 任何帮助将不胜感激。

    spinner.setOnItemSelectedListener(new OnItemSelectedListener()
    {

        public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
            // TODO Auto-generated method stub
            switch (arg2) {
            case 0:                 
                Toast.makeText(UsefulToolsActivity.this, "Tool, Countdown. Selected.", Toast.LENGTH_SHORT).show();
                break;

            case 1:                 
                Toast.makeText(UsefulToolsActivity.this, "Tool, Countdown. Selected.", Toast.LENGTH_SHORT).show();                       
                break;

            default :                       
                break;
            }
        }

        public void onNothingSelected(AdapterView<?> arg0) {
            // TODO Auto-generated method stub
        }
    });
}

这是我尝试用来实现意图的代码

    public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
            // TODO Auto-generated method stub
            switch (arg2) {
            case 0:                 
                Intent intent1 = new Intent(UsefulToolsActivity.this, CountdownActivity.class);
                startActivity(intent1);                        
                break;

            case 1:                 
                Intent intent2 = new Intent(UsefulToolsActivity.this, CountdownActivity.class);
                startActivity(intent2);                       
                break;

            default :                       
                break;
            }
        }

        public void onNothingSelected(AdapterView<?> arg0) {
            // TODO Auto-generated method stub
        }

应用程序执行时的Logcat输出

    12-23 13:45:50.637: E/JavaBinder(621): !!! FAILED BINDER TRANSACTION !!!
    12-23 13:45:50.957: E/AndroidRuntime(621): FATAL EXCEPTION: main
    12-23 13:45:50.957: E/AndroidRuntime(621): java.lang.RuntimeException: Adding window failed
    12-23 13:45:50.957: E/AndroidRuntime(621):  at android.view.ViewRootImpl.setView(ViewRootImpl.java:491)
    12-23 13:45:50.957: E/AndroidRuntime(621):  at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:301)
    12-23 13:45:50.957: E/AndroidRuntime(621):  at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:215)
    12-23 13:45:50.957: E/AndroidRuntime(621):  at android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:140)
    12-23 13:45:50.957: E/AndroidRuntime(621):  at android.view.Window$LocalWindowManager.addView(Window.java:537)
    12-23 13:45:50.957: E/AndroidRuntime(621):  at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2507)
    12-23 13:45:50.957: E/AndroidRuntime(621):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1986)
    12-23 13:45:50.957: E/AndroidRuntime(621):  at android.app.ActivityThread.access$600(ActivityThread.java:123)
    12-23 13:45:50.957: E/AndroidRuntime(621):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
    12-23 13:45:50.957: E/AndroidRuntime(621):  at android.os.Handler.dispatchMessage(Handler.java:99)
    12-23 13:45:50.957: E/AndroidRuntime(621):  at android.os.Looper.loop(Looper.java:137)
    12-23 13:45:50.957: E/AndroidRuntime(621):  at android.app.ActivityThread.main(ActivityThread.java:4424)
    12-23 13:45:50.957: E/AndroidRuntime(621):  at java.lang.reflect.Method.invokeNative(Native Method)
    12-23 13:45:50.957: E/AndroidRuntime(621):  at java.lang.reflect.Method.invoke(Method.java:511)
    12-23 13:45:50.957: E/AndroidRuntime(621):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
    12-23 13:45:50.957: E/AndroidRuntime(621):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
    12-23 13:45:50.957: E/AndroidRuntime(621):  at dalvik.system.NativeStart.main(Native Method)
    12-23 13:45:50.957: E/AndroidRuntime(621): Caused by: android.os.TransactionTooLargeException
    12-23 13:45:50.957: E/AndroidRuntime(621):  at android.os.BinderProxy.transact(Native Method)
    12-23 13:45:50.957: E/AndroidRuntime(621):  at android.view.IWindowSession$Stub$Proxy.add(IWindowSession.java:516)
    12-23 13:45:50.957: E/AndroidRuntime(621):  at android.view.ViewRootImpl.setView(ViewRootImpl.java:481)
    12-23 13:45:50.957: E/AndroidRuntime(621):  ... 16 more

2 个答案:

答案 0 :(得分:1)

经过多次试验后找到了答案,结果我忘记了实现OnItemSelectedListener。

答案 1 :(得分:0)

如果ne Inent()的参数都相等,

getIntent()将适用于微调器。否则它不会。