RadioButton

এই পর্বে আমরা রেডিওবাটনের কাজ শিখবো । চেকবক্স এ ইউজার যত ইচ্ছা তত অপশন চেক করতে পারতো কিন্তু রেডিওবাটনে ইউজার শুধুমাত্র একটি অপশন চুজ করতে পারবে ।

তো চলুন লেআউটের কাজ করা শুরু করে ফেলি -

   <TextView  
     android:layout_width="match_parent"  
     android:layout_height="wrap_content"  
     android:text="@string/headline"  
     android:textSize="28sp"  
     android:textStyle="bold"/>  


একদম উপরে ইউজারকে একটি ম্যাসেজ দিয়ে দিলাম, যে ম্যাসেজটি strings.xml এ রাখা আছে ।

এখন আমরা RadioButton বাটনের ভিউগুলো এড করবো । RadioButton গুলো থেকে যেহেতু ইউজার একটি মাত্র অপশন চুজ করতে পারবে তাই এই ভিউগুলোকে একটি গ্রুপ এর ভিতরে রাখতে হবে । চেকবক্সে ইউজার যত ইচ্ছা তত চুজ করতে পারতো তাই সেই ভিউগুলোকে কোন গ্রুপের ভিতর নাহ রেখেও আমরা কাজ করতে পেরেছি কিন্তু RadioButton গ্রুপ এ নাহ রেখে আলাদা রাখলে এটা RadioButton হিসেবে কাজ করবে নাহ । তাই RadioButton যে গ্রুপ এর ভিতর রাখতে হবে তার নাম হল RadioGroup

   <RadioGroup  
     android:layout_width="match_parent"  
     android:layout_height="wrap_content">  

     <RadioButton  
       android:layout_width="wrap_content"  
       android:layout_height="wrap_content"  
       android:id="@+id/bangladesh"  
       android:text="Bangladesh"  
       android:textSize="25sp"  
       android:onClick="itemselection"/>  

     <RadioButton  
       android:layout_width="wrap_content"  
       android:layout_height="wrap_content"  
       android:id="@+id/canada"  
       android:text="Canada"  
       android:textSize="25sp"  
       android:onClick="itemselection"/>  

     <RadioButton  
       android:layout_width="wrap_content"  
       android:layout_height="wrap_content"  
       android:id="@+id/uk"  
       android:text="UK"  
       android:textSize="25sp"  
       android:onClick="itemselection"/>  

   </RadioGroup>  

সকল RadioButton ভিউকে একই onClick ম্যাথড এ নিলাম কারন ইউজার যে অপশন টাই চুজ করুক নাহ কেন আমরা একই কাজ করবো । যদি ভিন্ন ভিন্ন কাজ করতাম যেমন বাংলাদেশ চুজ করলে বাংলাদেশের পতাকা আসবে + বাংলাদেশের ইতিহাস দেখাবে , আবার কানাডা চুজ করলে কানাডার প্রধানমন্ত্রীর ছবি দেখাবে আবার ইউকে তে ক্লিক করলে সে দেশের সংস্কৃতি দেখাবে তাহলে ভিন্ন ভিন্ন ম্যাথড তৈরি করে ভিন্ন ভিন্ন কাজ করতাম ।

এবার আর কোন বাটন নিচ্ছি নাহ কারন ইউজার যে অপশন চুজ করবে সেই অপশন টাই রেজাল্ট এ দেখিয়ে দিব , তাই TextView নিব -

   <TextView  
     android:layout_width="match_parent"  
     android:layout_height="wrap_content"  
     android:id="@+id/result"  
     android:gravity="center"  
     />  

অবশেষে আমাদের লেআউট ডিজাইন যে রকম দাঁড়ালো -



এবার তবে ব্যাকগ্রাউন্ডের কাজ কাজ করা যাক -

 public class MainActivity extends AppCompatActivity {  
   TextView result;  
   @Override  
   protected void onCreate(Bundle savedInstanceState) {  
     super.onCreate(savedInstanceState);  
     setContentView(R.layout.activity_main);  
     result = findViewById(R.id.result);  
   }  

নিশ্চয়ই বুঝতে পারছেন এখানে কি করা হইছে , যারা বুঝতে পারেন নাই তারা দয়া করে পুরানো টিউটোরিয়াল গুলো পড়ে আসবেন 😊

এবার অপশন চুজ করার ম্যাথড লিখতে হবে । আপনাদের নিশ্চয়ই মনে আছে onClick এ আমরা  কোন ম্যাথডের নাম দিয়েছিলাম -

   public void itemselection(View view) {  
     boolean check = ((RadioButton)view).isChecked();  
     switch (view.getId()){  
       case R.id.bangladesh:  
         result.setText("Bangladesh");  
         break;  
       case R.id.canada:  
         result.setText("Canada");  
         break;  
       case R.id.uk:  
         result.setText("UK");  
         break;  
     }  
   }  


এখানে আপনি চাইলে গত চেকবক্সের টিউটোরিয়াল এর মত if-else ইউজ করতে পারেন কিন্তু যেহেতু অপশন চুজ করার সাথে সাথেই সেটা রেজাল্ট এ দেখিয়ে দিচ্ছি , আনচেক করার কোন সিস্টেম রাখা হয় নাই , তাই if-else ইউজ করলাম নাহ । কোন প্রোজেক্ট করার সময় অবশ্যই if-else ইউজ করবেন 😊
যারা চেকবক্সের টিউটোরিয়াল দেখে আসছেন তারা নিশ্চয়ই বুঝতে পারছেন এখানে কি করা হইছে , আপনি নাহ বুঝতে পারলে দয়া করে গত পর্বের টিউটোরিয়াল ( চেকবক্সের )  টি আরেকবার ভালোভাবে বুঝে আসবেন 😊

মন্তব্যসমূহ

এই ব্লগটি থেকে জনপ্রিয় পোস্টগুলি

Spinner View - 11 ( Android Bangla Tutorial)

ImageView ( Android Bangla Tutorial - )

Toggle Button - 10 ( Android Bangla Tutorial)