Problem with handling event on radio buttons in Android programming -
hey guys have application using radio button following codes
default_mode =(radiobutton)findviewbyid(r.id.default_mode); warn_mode =(radiobutton)findviewbyid(r.id.warn_mode); grey_mode =(radiobutton)findviewbyid(r.id.grey_mode); quegroup1 =(radiogroup)findviewbyid(r.id.quegroup1); quegroup1.setoncheckedchangelistener(new oncheckedchangelistener() { public void oncheckedchanged(radiogroup rg, int checkedid) { // todo auto-generated method stub for(int i=0; i<rg.getchildcount(); i++) { //radiobutton btn = (radiobutton) rg.getchildat(i); if(default_mode.getid() == checkedid) { default_method(); colortouched(); return; } else if(warn_mode.getid() == checkedid) { warn_method(); return; } else if(grey_mode.getid() == checkedid){ grey_method(); return; } } } }); the problem when selected on default_mode selected on warn_mode
the method named colortouched(); still working. want know how stop method other's radio button. ex. if select warn_mode method warn_method() must working only.
thanks in advance :)))
tried code. did not understand loop doing there removed one.
things seems work expected. there maybe wrong layout?
here code worked with.
xml-code
<?xml version="1.0" encoding="utf-8"?> <linearlayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <radiogroup android:id="@+id/que_group" android:layout_width="wrap_content" android:layout_height="wrap_content"> <radiobutton android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/default_mode" android:text="default mode" android:checked="true"></radiobutton> <radiobutton android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/warn_mode" android:text="warn mode"></radiobutton> <radiobutton android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/grey_mode" android:text="grey mode"></radiobutton> </radiogroup> </linearlayout> java -code
package com.test.radiogrouptest; import android.app.activity; import android.os.bundle; import android.util.log; import android.widget.radiobutton; import android.widget.radiogroup; import android.widget.radiogroup.oncheckedchangelistener; public class radiogrouptestactivity extends activity { public static final string tag = "rgta"; radiogroup querg; radiobutton defaultmoderb, warnmoderb, greymoderb; @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); querg = (radiogroup) findviewbyid(r.id.que_group); defaultmoderb = (radiobutton) findviewbyid(r.id.default_mode); warnmoderb = (radiobutton) findviewbyid(r.id.warn_mode); greymoderb = (radiobutton) findviewbyid(r.id.grey_mode); querg.setoncheckedchangelistener(new oncheckedchangelistener() { public void oncheckedchanged(radiogroup rg, int checkedid) { if (defaultmoderb.getid() == checkedid) { defaultmethod(); colortouched(); return; } else if (warnmoderb.getid() == checkedid) { warnmethod(); return; } else if (greymoderb.getid() == checkedid) { greymethod(); return; } } }); } public void defaultmethod() { log.d("tag", "defaultmethod"); } public void colortouched() { log.d("tag", "colortouched"); } public void warnmethod() { log.d("tag", "warnmethod"); } public void greymethod() { log.d("tag", "greymethod"); } }
Comments
Post a Comment