如果微调项目再次选择 [英] spinner if item selected again

查看:141
本文介绍了如果微调项目再次选择的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在包中,被称为NoDefaultSpinner创建一个类文件。当我尝试在我的Andr​​oid应用程序使用它,不过,我得到的导致程序崩溃的异常。

I created a class file in my package, called NoDefaultSpinner. When I try to use it in my Android app, though, I get an exception that crashes the program.

我复制了由贝尔巴托夫Vukman和布伦德尔从<一提供的code href=\"http://stackoverflow.com/questions/5335306/how-can-i-get-an-event-in-android-spinner-when-the-current-selected-item-is-sele\">this链接然后更新了这个code亚历克斯Miragall指示一些帖子下来(因为现在我创造的Andr​​oid 4.0的应用程序)。我删除了贝尔巴托夫的onClick方法,并粘贴Alex的code在类的结尾。

I copied the code provided by Dimitar Vukman and Blundell from this link and then updated this code as Alex Miragall instructed some posts down (because now I'm creating an application for Android 4.0). I removed Dimitar's onClick method and pasted Alex's code at the end of the class.

然后我编辑我的活动与纺纱,我换

Then I edited my activity with spinners, I changed

static Spinner spinner1;

static NoDefaultSpinner spinner1;

variables.spinner1 = (Spinner) findViewById(R.id.spinner1); 

variables.spinner1 = (NoDefaultSpinner) findViewById(R.id.spinner1); 

我也试图改变

<Spinner
        android:id="@+id/spinner1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/place" />

<NoDefaultSpinner
        android:id="@+id/spinner1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/place" />

问题:我做错了什么,为什么我的应用程序崩溃,我可以做什么,以使其正常工作

The question: what I did wrong, why my app crashes and what can I do to make it work properly?

这是错误的,如果我不更新的布局:

These are the errors if i don't update layout:

01-08 01:50:48.835: E/AndroidRuntime(13362): FATAL EXCEPTION: main
01-08 01:50:48.835: E/AndroidRuntime(13362): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.life/com.example.life.search_activity}: java.lang.ClassCastException: android.widget.Spinner cannot be cast to com.example.life.NoDefaultSpinner
01-08 01:50:48.835: E/AndroidRuntime(13362):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
01-08 01:50:48.835: E/AndroidRuntime(13362):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
01-08 01:50:48.835: E/AndroidRuntime(13362):    at android.app.ActivityThread.access$600(ActivityThread.java:141)
01-08 01:50:48.835: E/AndroidRuntime(13362):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
01-08 01:50:48.835: E/AndroidRuntime(13362):    at android.os.Handler.dispatchMessage(Handler.java:99)
01-08 01:50:48.835: E/AndroidRuntime(13362):    at android.os.Looper.loop(Looper.java:137)
01-08 01:50:48.835: E/AndroidRuntime(13362):    at android.app.ActivityThread.main(ActivityThread.java:5039)
01-08 01:50:48.835: E/AndroidRuntime(13362):    at java.lang.reflect.Method.invokeNative(Native Method)
01-08 01:50:48.835: E/AndroidRuntime(13362):    at java.lang.reflect.Method.invoke(Method.java:511)
01-08 01:50:48.835: E/AndroidRuntime(13362):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
01-08 01:50:48.835: E/AndroidRuntime(13362):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
01-08 01:50:48.835: E/AndroidRuntime(13362):    at dalvik.system.NativeStart.main(Native Method)
01-08 01:50:48.835: E/AndroidRuntime(13362): Caused by: java.lang.ClassCastException: android.widget.Spinner cannot be cast to com.example.life.NoDefaultSpinner
01-08 01:50:48.835: E/AndroidRuntime(13362):    at com.example.life.search_activity.onCreate(search_activity.java:181)
01-08 01:50:48.835: E/AndroidRuntime(13362):    at android.app.Activity.performCreate(Activity.java:5104)
01-08 01:50:48.835: E/AndroidRuntime(13362):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
01-08 01:50:48.835: E/AndroidRuntime(13362):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
01-08 01:50:48.835: E/AndroidRuntime(13362):    ... 11 more

这是错误的,如果我做更新的布局(改变微调至NoDefaultSpinner)

These are errors if I do update the layout (change Spinner to NoDefaultSpinner)

01-08 01:53:22.803: E/AndroidRuntime(13417): FATAL EXCEPTION: main
01-08 01:53:22.803: E/AndroidRuntime(13417): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.life/com.example.life.search_activity}: android.view.InflateException: Binary XML file line #7: Error inflating class NoDefaultSpinner
01-08 01:53:22.803: E/AndroidRuntime(13417):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
01-08 01:53:22.803: E/AndroidRuntime(13417):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
01-08 01:53:22.803: E/AndroidRuntime(13417):    at android.app.ActivityThread.access$600(ActivityThread.java:141)
01-08 01:53:22.803: E/AndroidRuntime(13417):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
01-08 01:53:22.803: E/AndroidRuntime(13417):    at android.os.Handler.dispatchMessage(Handler.java:99)
01-08 01:53:22.803: E/AndroidRuntime(13417):    at android.os.Looper.loop(Looper.java:137)
01-08 01:53:22.803: E/AndroidRuntime(13417):    at android.app.ActivityThread.main(ActivityThread.java:5039)
01-08 01:53:22.803: E/AndroidRuntime(13417):    at java.lang.reflect.Method.invokeNative(Native Method)
01-08 01:53:22.803: E/AndroidRuntime(13417):    at java.lang.reflect.Method.invoke(Method.java:511)
01-08 01:53:22.803: E/AndroidRuntime(13417):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
01-08 01:53:22.803: E/AndroidRuntime(13417):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
01-08 01:53:22.803: E/AndroidRuntime(13417):    at dalvik.system.NativeStart.main(Native Method)
01-08 01:53:22.803: E/AndroidRuntime(13417): Caused by: android.view.InflateException: Binary XML file line #7: Error inflating class NoDefaultSpinner
01-08 01:53:22.803: E/AndroidRuntime(13417):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:698)
01-08 01:53:22.803: E/AndroidRuntime(13417):    at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
01-08 01:53:22.803: E/AndroidRuntime(13417):    at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
01-08 01:53:22.803: E/AndroidRuntime(13417):    at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
01-08 01:53:22.803: E/AndroidRuntime(13417):    at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
01-08 01:53:22.803: E/AndroidRuntime(13417):    at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:270)
01-08 01:53:22.803: E/AndroidRuntime(13417):    at android.app.Activity.setContentView(Activity.java:1881)
01-08 01:53:22.803: E/AndroidRuntime(13417):    at com.example.life.search_activity.onCreate(search_activity.java:177)
01-08 01:53:22.803: E/AndroidRuntime(13417):    at android.app.Activity.performCreate(Activity.java:5104)
01-08 01:53:22.803: E/AndroidRuntime(13417):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
01-08 01:53:22.803: E/AndroidRuntime(13417):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
01-08 01:53:22.803: E/AndroidRuntime(13417):    ... 11 more
01-08 01:53:22.803: E/AndroidRuntime(13417): Caused by: java.lang.ClassNotFoundException: Didn't find class "android.view.NoDefaultSpinner" on path: /data/app/com.example.life-1.apk
01-08 01:53:22.803: E/AndroidRuntime(13417):    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:65)
01-08 01:53:22.803: E/AndroidRuntime(13417):    at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
01-08 01:53:22.803: E/AndroidRuntime(13417):    at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
01-08 01:53:22.803: E/AndroidRuntime(13417):    at android.view.LayoutInflater.createView(LayoutInflater.java:552)
01-08 01:53:22.803: E/AndroidRuntime(13417):    at android.view.LayoutInflater.onCreateView(LayoutInflater.java:643)
01-08 01:53:22.803: E/AndroidRuntime(13417):    at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:66)
01-08 01:53:22.803: E/AndroidRuntime(13417):    at android.view.LayoutInflater.onCreateView(LayoutInflater.java:660)
01-08 01:53:22.803: E/AndroidRuntime(13417):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685)
01-08 01:53:22.803: E/AndroidRuntime(13417):    ... 21 more

我已经找到了我的问题两个解决方案在这里堆栈:

I have found two solutions for my problem here on stack:

<一个href=\"http://stackoverflow.com/questions/5335306/how-can-i-get-an-event-in-android-spinner-when-the-current-selected-item-is-sele\">The第一

<一个href=\"http://stackoverflow.com/questions/8937150/android-spinner-fire-event-when-same-item-selection-is-made?rq=1\">The第二

我有过的人谁问这些问题同样的问题。问题是psented有很好$ P $。

I have the same problem that had people who asked these questions. The problem is well presented there.

我尝试了所有的解决方案,但每次我试图与这些特殊的纺纱应用推出一个活动时坠毁。也许我没有使用类错了?

I tried all the solutions, but every time I tried to launch an activity with these special spinners application crashed. Maybe I did use the classes wrong?

推荐答案

您第一个例外是

java.lang.ClassNotFoundException: Didn't find class "android.view.NoDefaultSpinner" on path: /data/app/com.example.life-1.apk

因此​​,在你的XML布局中使用完全限定域名( com.myPackage.NoDefaultSpinner )。否则,Android会假定类是它自​​己包的一部分,它显然会失败。

So use the fully qualified name (com.myPackage.NoDefaultSpinner) in your xml layout. Otherwise, Android assumes the class is part of its own package and it will obviously fail.

此外,这样的:

ClassCastException: android.widget.Spinner cannot be cast to com.example.life.NoDefaultSpinner

建议 NoDefaultSpinner 不延长微调,确保它。

这篇关于如果微调项目再次选择的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆