Android广播组onCheckChangedListener崩溃的应用程序

Android广播组onCheckChangedListener崩溃的应用程序,第1张

概述我知道为什么当我选择一个单选按钮时这会导致我的应用程序崩溃?我已经导入了android.widget.RadioGroup.OnCheckedChangeListener,我也试过了newRadioGroup.OnCheckedChangeListener()这是类似帖子的解决方案.代码是(添加了logcat):RadioGroupringtone_radio_group=(Radi

我知道为什么当我选择一个单选按钮时这会导致我的应用程序崩溃?

我已经导入了android.Widget.RadioGroup.OnCheckedchangelistener,我也试过了

new RadioGroup.OnCheckedchangelistener()

这是类似帖子的解决方案.

代码是(添加了logcat):

RadioGroup ringtone_radio_group = (RadioGroup)findVIEwByID(R.ID.ringtone_radio_group);    ringtone_radio_group.setonCheckedchangelistener(new OnCheckedchangelistener()    {        @OverrIDe        public voID onCheckedChanged(RadioGroup group, int checkedID)        {            Toast.makeText(getApplicationContext(), "checked ID = " + checkedID, Toast.LENGTH_SHORT).show();        }    });

布局是:

<?xml version="1.0" enCoding="utf-8"?><linearLayout     xmlns:androID="http://schemas.androID.com/apk/res/androID"    androID:layout_wIDth="fill_parent"    androID:layout_height="fill_parent"    androID:orIEntation="vertical"    androID:layout_gravity="left">    <TextVIEw androID:ID="@+ID/ringtone_Title"        androID:layout_wIDth="fill_parent"        androID:layout_height="wrap_content"        androID:gravity="center_horizontal"        androID:textSize="30sp"        androID:text="Hello!"/>    <RadioGroup        androID:ID="@+ID/ringtone_radio_group"        androID:layout_wIDth="fill_parent"        androID:layout_height="wrap_content"        androID:orIEntation="vertical">        <relativeLayout            androID:layout_wIDth="fill_parent"            androID:layout_height="wrap_content"            androID:orIEntation="horizontal">            <Radiobutton androID:ID="@+ID/ringtone_button_1"                androID:layout_wIDth="wrap_content"                androID:layout_height="wrap_content"                androID:text="@string/ringtone1"                androID:onClick="onRadiobuttonClicked"/>            <button                androID:ID="@+ID/play_button_1"                androID:layout_wIDth="wrap_content"                androID:layout_height="wrap_content"                androID:layout_alignParentRight="true"                androID:layout_toRightOf="@ID/ringtone_button_1"                androID:text="Play" />        </relativeLayout>        <linearLayout            androID:layout_wIDth="match_parent"            androID:layout_height="wrap_content"            androID:orIEntation="horizontal">            <Radiobutton androID:ID="@+ID/ringtone_button_2"                androID:layout_wIDth="wrap_content"                androID:layout_height="wrap_content"                androID:text="@string/ringtone2"                androID:onClick="onRadiobuttonClicked"/>            <button androID:ID="@+ID/play_button_2"                    androID:layout_wIDth="wrap_content"                    androID:layout_height="wrap_content"                    androID:text="Play" />        </linearLayout>        <linearLayout            androID:layout_wIDth="fill_parent"            androID:layout_height="wrap_content"            androID:orIEntation="horizontal">            <Radiobutton androID:ID="@+ID/ringtone_button_3"                androID:layout_wIDth="wrap_content"                androID:layout_height="wrap_content"                androID:text="@string/ringtone3"                androID:onClick="onRadiobuttonClicked"/>            <button androID:ID="@+ID/play_button_3"                androID:layout_wIDth="wrap_content"                androID:layout_height="wrap_content"                androID:text="Play" />        </linearLayout>    </RadioGroup></linearLayout> 

logcat:

05-31 11:09:36.053: E/AndroIDRuntime(26969): java.lang.IllegalStateException: Could not find a method onRadiobuttonClicked(VIEw) in the activity class com.example.ringtones.MainActivity for onClick handler on vIEw class androID.Widget.Radiobutton with ID 'ringtone_button_1'05-31 11:09:36.053: E/AndroIDRuntime(26969):    at androID.vIEw.VIEw.onClick(VIEw.java:3031)05-31 11:09:36.053: E/AndroIDRuntime(26969):    at androID.vIEw.VIEw.performClick(VIEw.java:3511)05-31 11:09:36.053: E/AndroIDRuntime(26969):    at androID.Widget.Compoundbutton.performClick(Compoundbutton.java:100)05-31 11:09:36.053: E/AndroIDRuntime(26969):    at androID.vIEw.VIEw$PerformClick.run(VIEw.java:14105)05-31 11:09:36.053: E/AndroIDRuntime(26969):    at androID.os.Handler.handleCallback(Handler.java:605)05-31 11:09:36.053: E/AndroIDRuntime(26969):    at androID.os.Handler.dispatchMessage(Handler.java:92)05-31 11:09:36.053: E/AndroIDRuntime(26969):    at androID.os.Looper.loop(Looper.java:137)05-31 11:09:36.053: E/AndroIDRuntime(26969):    at androID.app.ActivityThread.main(ActivityThread.java:4424)05-31 11:09:36.053: E/AndroIDRuntime(26969):    at java.lang.reflect.Method.invokeNative(Native Method)05-31 11:09:36.053: E/AndroIDRuntime(26969):    at java.lang.reflect.Method.invoke(Method.java:511)05-31 11:09:36.053: E/AndroIDRuntime(26969):    at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:812)05-31 11:09:36.053: E/AndroIDRuntime(26969):    at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:579)05-31 11:09:36.053: E/AndroIDRuntime(26969):    at dalvik.system.NativeStart.main(Native Method)05-31 11:09:36.053: E/AndroIDRuntime(26969): Caused by: java.lang.NoSuchMethodException: onRadiobuttonClicked [class androID.vIEw.VIEw]05-31 11:09:36.053: E/AndroIDRuntime(26969):    at java.lang.class.getConstructorOrMethod(Class.java:460)05-31 11:09:36.053: E/AndroIDRuntime(26969):    at java.lang.class.getmethod(Class.java:915)05-31 11:09:36.053: E/AndroIDRuntime(26969):    at androID.vIEw.VIEw.onClick(VIEw.java:3024)05-31 11:09:36.053: E/AndroIDRuntime(26969):    ... 12 more05-31 11:27:02.010: I/Adreno200-EGLSUB(27793): <ConfigWindowMatch:2081>: Format RGBA_8888.05-31 11:27:02.020: D/memalloc(27793): /dev/pmem: Mapped buffer base:0x509ca000 size:6103040 offset:5488640 fd:5505-31 11:27:02.160: D/memalloc(27793): /dev/pmem: Mapped buffer base:0x511ba000 size:614400 offset:0 fd:5805-31 11:27:05.053: I/Adreno200-EGLSUB(27793): <ConfigWindowMatch:2081>: Format RGBA_8888.05-31 11:27:05.053: D/memalloc(27793): /dev/pmem: Mapped buffer base:0x51467000 size:3645440 offset:3031040 fd:6105-31 11:27:05.143: D/memalloc(27793): /dev/pmem: Mapped buffer base:0x51855000 size:4874240 offset:4259840 fd:7005-31 11:27:05.163: D/memalloc(27793): /dev/pmem: Mapped buffer base:0x51cfb000 size:6758400 offset:6717440 fd:7305-31 11:27:05.183: D/memalloc(27793): /dev/pmem: UnmapPing buffer base:0x509ca000 size:6103040 offset:548864005-31 11:27:05.183: D/memalloc(27793): /dev/pmem: UnmapPing buffer base:0x511ba000 size:614400 offset:005-31 11:27:06.944: D/memalloc(27793): /dev/pmem: UnmapPing buffer base:0x51cfb000 size:6758400 offset:671744005-31 11:27:07.705: D/memalloc(27793): /dev/pmem: Mapped buffer base:0x508ca000 size:614400 offset:0 fd:5205-31 11:27:08.005: W/dalvikvm(27793): threadID=1: thread exiting with uncaught exception (group=0x40a641f8)05-31 11:27:08.005: E/AndroIDRuntime(27793): FATAL EXCEPTION: main05-31 11:27:08.005: E/AndroIDRuntime(27793): java.lang.IllegalStateException: Could not find a method onRadiobuttonClicked(VIEw) in the activity class com.example.ringtones.MainActivity for onClick handler on vIEw class androID.Widget.Radiobutton with ID 'ringtone_button_1'05-31 11:27:08.005: E/AndroIDRuntime(27793):    at androID.vIEw.VIEw.onClick(VIEw.java:3031)05-31 11:27:08.005: E/AndroIDRuntime(27793):    at androID.vIEw.VIEw.performClick(VIEw.java:3511)05-31 11:27:08.005: E/AndroIDRuntime(27793):    at androID.Widget.Compoundbutton.performClick(Compoundbutton.java:100)05-31 11:27:08.005: E/AndroIDRuntime(27793):    at androID.vIEw.VIEw$PerformClick.run(VIEw.java:14105)05-31 11:27:08.005: E/AndroIDRuntime(27793):    at androID.os.Handler.handleCallback(Handler.java:605)05-31 11:27:08.005: E/AndroIDRuntime(27793):    at androID.os.Handler.dispatchMessage(Handler.java:92)05-31 11:27:08.005: E/AndroIDRuntime(27793):    at androID.os.Looper.loop(Looper.java:137)05-31 11:27:08.005: E/AndroIDRuntime(27793):    at androID.app.ActivityThread.main(ActivityThread.java:4424)05-31 11:27:08.005: E/AndroIDRuntime(27793):    at java.lang.reflect.Method.invokeNative(Native Method)05-31 11:27:08.005: E/AndroIDRuntime(27793):    at java.lang.reflect.Method.invoke(Method.java:511)05-31 11:27:08.005: E/AndroIDRuntime(27793):    at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:812)05-31 11:27:08.005: E/AndroIDRuntime(27793):    at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:579)05-31 11:27:08.005: E/AndroIDRuntime(27793):    at dalvik.system.NativeStart.main(Native Method)05-31 11:27:08.005: E/AndroIDRuntime(27793): Caused by: java.lang.NoSuchMethodException: onRadiobuttonClicked [class androID.vIEw.VIEw]05-31 11:27:08.005: E/AndroIDRuntime(27793):    at java.lang.class.getConstructorOrMethod(Class.java:460)05-31 11:27:08.005: E/AndroIDRuntime(27793):    at java.lang.class.getmethod(Class.java:915)05-31 11:27:08.005: E/AndroIDRuntime(27793):    at androID.vIEw.VIEw.onClick(VIEw.java:3024)05-31 11:27:08.005: E/AndroIDRuntime(27793):    ... 12 more

解决方法:

从XML中的每个Radiobuttons中删除androID:onClick =“onRadiobuttonClick”.您应该处理在RadioGroup上设置的OnCheckedchangelistener中的Radiobuttons的选择.

如果在选择特定的Radiobutton时需要进行特殊处理,可以在onCheckedChanged回调中使用switch语句 – checkedID参数是所选Radiobutton的androID:ID值(如果清除选择,则为-1).

总结

以上是内存溢出为你收集整理的Android广播组onCheckChangedListener崩溃的应用程序全部内容,希望文章能够帮你解决Android广播组onCheckChangedListener崩溃的应用程序所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1099790.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存