sadeghmohebbi 2 ارسال شده در ۱۰ تیر ۱۳۹۴ گزارش اشتراک گذاری ارسال شده در ۱۰ تیر ۱۳۹۴ سلام یه سوال خیلی کوچیک داشتم...در مورد برنامه ی زیر که نوشتم چه کار کنم که در برنامه ی زیر تغییراتی که در RadioButton ها ایجاد می کنم، به صورت آنی اتفاق بیفته. مثلا برنامه ی زیر به این صورت عمل می کنه که همواره تا هنگامی که روی RadioButton بعدی کلیک نکرده ام ، نام RadioButton اکه الان کلک کردم رو نمایش نمی ده! import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.CompoundButton.OnCheckedChangeListener; import android.widget.CompoundButton; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.TextView; public class MainActivity extends Activity { Button btn1, btn2; RadioGroup _3radio; TextView tv; RadioButton rb0, rb1, rb2; private OnClickListener listener1 = new OnClickListener() { @Override public void onClick(View v) { _3radio.clearCheck(); tv.setText("All unChecked"); } }; private OnCheckedChangeListener listenA = new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton ButtonView, boolean isChecked) { tv.setText("'A' Character"); } }; private OnCheckedChangeListener listenB = new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton ButtonView, boolean isChecked) { tv.setText("'B' Character"); } }; private OnCheckedChangeListener listenC = new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView , boolean isChecked) { tv.setText("'C' Character"); } }; private OnClickListener listener2 = new OnClickListener() { @Override public void onClick(View v) { switch (_3radio.getCheckedRadioButtonId()) { case R.id.radio0: tv.setText("radio0"); break; case R.id.radio1: tv.setText("radio1"); break; case R.id.radio2: tv.setText("radio2"); break; } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn1 = (Button) findViewById(R.id.button1); btn2 = (Button) findViewById(R.id.button2); _3radio = (RadioGroup) findViewById(R.id.radioGroup1); tv = (TextView) findViewById(R.id.textView1); rb0 = (RadioButton) findViewById(R.id.radio0); rb1 = (RadioButton) findViewById(R.id.radio1); rb2 = (RadioButton) findViewById(R.id.radio2); btn1.setOnClickListener(listener1); btn2.setOnClickListener(listener2); rb0.setOnCheckedChangeListener(listenA); rb1.setOnCheckedChangeListener(listenB); rb2.setOnCheckedChangeListener(listenC); } راه حلتون چیه که این باگ جزئی برطرف بشه؟ نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
Razieh Shahraki 49 ارسال شده در ۱۰ تیر ۱۳۹۴ گزارش اشتراک گذاری ارسال شده در ۱۰ تیر ۱۳۹۴ سلام شما اول برنامه یه if بذار و چک کن کدوم رادیو باتن چک داره مقدار تکست ویو رو همونی که میخوای بذار نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
sadeghmohebbi 2 ارسال شده در ۱۰ تیر ۱۳۹۴ مالک گزارش اشتراک گذاری ارسال شده در ۱۰ تیر ۱۳۹۴ سلام شما اول برنامه یه if بذار و چک کن کدوم رادیو باتن چک داره مقدار تکست ویو رو همونی که میخوای بذار خیلی ممنون این طوری کلا فکر کنم که دیگه نیازی به خیلی از خطوط (اون وسطا) که OnClickChange... و غیره داره نیست نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
Seyed-Hossein-Akbari 92 ارسال شده در ۱۱ تیر ۱۳۹۴ گزارش اشتراک گذاری ارسال شده در ۱۱ تیر ۱۳۹۴ بهرین راه حل استفاده از swich case موفق باشید نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
sadeghmohebbi 2 ارسال شده در ۱۱ تیر ۱۳۹۴ مالک گزارش اشتراک گذاری ارسال شده در ۱۱ تیر ۱۳۹۴ برای این که بحث بسته بشه، کد رو تغییر دادم و حل شد... از همگی ممنون import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.RadioGroup.OnCheckedChangeListener; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends Activity { Button btn1, btn2; RadioGroup _3radio; TextView tv; RadioButton rb0, rb1, rb2; private OnClickListener listener1 = new OnClickListener() { @Override public void onClick(View v) { _3radio.clearCheck(); tv.setText("All unChecked"); } }; private OnClickListener listener2 = new OnClickListener() { @Override public void onClick(View v) { switch (_3radio.getCheckedRadioButtonId()) { case R.id.radio0: tv.setText("radio0"); break; case R.id.radio1: tv.setText("radio1"); break; case R.id.radio2: tv.setText("radio2"); break; default: Toast.makeText(getBaseContext(),"Sorry! Not selected item", Toast.LENGTH_SHORT).show(); //تو فوق العاده ای break; } } }; OnCheckedChangeListener listenRG = new OnCheckedChangeListener() { public void onCheckedChanged(RadioGroup arg0, int arg1) { switch (_3radio.getCheckedRadioButtonId()) { //دمت گرم case R.id.radio0: tv.setText("A"); break; case R.id.radio1: tv.setText("B"); break; case R.id.radio2: tv.setText("C"); break; } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn1 = (Button) findViewById(R.id.button1); btn2 = (Button) findViewById(R.id.button2); _3radio = (RadioGroup) findViewById(R.id.radioGroup1); tv = (TextView) findViewById(R.id.textView1); rb0 = (RadioButton) findViewById(R.id.radio0); rb1 = (RadioButton) findViewById(R.id.radio1); rb2 = (RadioButton) findViewById(R.id.radio2); btn1.setOnClickListener(listener1); btn2.setOnClickListener(listener2); _3radio.setOnCheckedChangeListener(listenRG); } نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .