Android AlertDialog Example
-------------------------------------------------------
আমরা এখন AlertDialog নিয়ে আলোচনা করবো !! এটা সাধারণত , এক ধরনের ডায়ালোগ মেসেজ শো করাতে ব্যবহার করা হয় , যেখানে OK আর Cancel বাটন থাকে ।
একটা AlertDialog এর তিন ধরনের রিজিয়ন থাকে , যেখানে title( টাইটেল) , content area( ডায়ালগ বক্সে কি লিখা থাকবে ?) and action buttons( OK আর Cancel বাটন ) !!
Android AlertDialog হলো , Dialog class এরই সাবক্লাস !!
AlertDialog class এর যেসব মেথোড , বহুল ব্যবহার হয় !!!
public AlertDialog.Builder setTitle(CharSequence) AlertDialog এর title সেট করে , এই মেথোড !!
public AlertDialog.Builder setMessage(CharSequence) AlertDialog এর কনটেন্ট এরিয়াতে কি মেসেজ থাকবে ? সেটা সেট করে , এই মেথোড !!
public AlertDialog.Builder setIcon(int) AlertDialog এর icon সেট করতে ব্যবহার হয় !!
এবার আমরা , এটা নিয়ে একটা অ্যাপ্লিকেশন বানিয়ে ফেলি , চলো ----------
activity_main.xml
File: activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="example.javatpoint.com.alertdialog.MainActivity">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button"
android:text="Close app"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
এবার আমরা সঠিক পদ্ধতিতে , strings.xml ফাইলে আমাদের টাইটেল আর মেসেজ স্ট্রিং আকারে স্টোর করবো !!
File: strings.xml
<resources>
<string name="app_name">AlertDialog</string>
<string name="dialog_message">Welcome to Alert Dialog</string>
<string name="dialog_title">Javatpoint Alert Dialog</string>
</resources>
এবার আমরা আমাদের , জাভা ফাইল দেখে নেই
File: MainActivity.java
package example.javatpoint.com.alertdialog;
import android.content.DialogInterface;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.app.AlertDialog;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
Button closeButton;
AlertDialog.Builder builder;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
closeButton = (Button) findViewById(R.id.button);
builder = new AlertDialog.Builder(this);
closeButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Uncomment the below code to Set the message and title from the strings.xml file
//builder.setMessage(R.string.dialog_message) .setTitle(R.string.dialog_title); ( আমরা এভাবে , স্ট্রিং ফাইল থেকে আমাদের মেসেজ আর টাইটেল সেট করতে পারি )
//Setting message manually and performing action on button click ( এখানে আমরা ম্যানুয়ালি , ক্লাস ফাইলের মাধ্যমেই মেসেজ আর টাইটেল সেট করলাম )
builder.setMessage("Do you want to close this application ?")
.setCancelable(false)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
finish();
Toast.makeText(getApplicationContext(),"you choose yes action for alertbox",
Toast.LENGTH_SHORT).show();
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// Action for 'NO' Button
dialog.cancel();
Toast.makeText(getApplicationContext(),"you choose no action for alertbox",
Toast.LENGTH_SHORT).show();
}
});
//Creating dialog box
AlertDialog alert = builder.create();
//Setting the title manually
alert.setTitle("AlertDialogExample");
alert.show();
}
});
}
}
তাহলে , আমরা কিভাবে স্ট্রিং ফাইল থেকে শো করানো যায় ? সেটাও দেখেছি , আবার কিভাবে ম্যানুয়ালি করা যেতে পারে ? সেটাও লিখেছি , তোমরা সাধারণত , স্ট্রিং ফাইল থেকে ইউজ করাটাও ব্যবহার করতে পারো , তাহলে অনেক ক্ষেত্রেই নিজের ইচ্ছেমতো অনেক কিছু শো করাতে পারবে , সেটা পরে সুবিধে হবে , তবে এখন তোমার ইচ্ছেমতো ব্যবহার করতে পারো !!
Android RadioButton
----------------------------------------
RadioButton হলো , কিছুটা আমাদের এর আগের করা চেকবক্সের মতোনই , বাট কিছুটা পরিবর্তন আছে , এখানে !! চেকবক্স যেমন, একবার চেকড আবার আনচেকড করা যায় !! কিন্তু , রেডিও বাটন কিন্তু একবার চেকড করে ফেললে , আর আনচেকড করতে পারবা না !! রেডিও বাটনের আরেকটা গুরুত্বপূর্ণ দিক আছে যেমন, তোমায় আমি চেকবক্সের সময় অনেকগুলো অপশন দিয়ে বলেছিলাম যেটা খুশী সিলেক্ট করী , কিন্তু আমি যদি বলতে চাই আমি তোমায় শুধু একটা সিলেক্ট করার অধিকার দিবো , একটার বেশী তুমি সিলেক্ট করেত পারবা না , আথলে আমি তখন এই কয়েকটা রেডিও বাটন একটা রেডিও গ্রুপে রেখে ব্যবহার করলেই , তুমি তখন ঠিক এরকম সুবিধে পাবে , শুধুমাত্র যেকোনো একটা ইলিমেন্ট আমরা সিলেক্ট করতে পারবো !!! তো যাই হোক , এবার আমরা শুরু করি !!
আমরা এখানে , একটা অ্যাপ্লিকেশন বানাবো ,যেটাতে আমরা নরমাল রেদীও বাটন ইউজ করবো , আবার রেডিও গ্রুপ ইউজ করে রেডিও বাটন ইউজ করবো , চলো দেখে নেই
activity_main.xml
File: activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="example.javatpoint.com.radiobutton.MainActivity">
<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
android:gravity="center_horizontal"
android:textSize="22dp"
android:text="Single Radio Buttons" />
<!-- Default RadioButtons -->
<RadioButton
android:id="@+id/radioButton1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="Radio Button 1"
android:layout_marginTop="20dp"
android:textSize="20dp" />
<RadioButton
android:id="@+id/radioButton2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Radio Button 2"
android:layout_marginTop="10dp"
android:textSize="20dp" />
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:layout_marginTop="20dp"
android:background="#B8B894" />
<TextView
android:id="@+id/textView2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
android:gravity="center_horizontal"
android:textSize="22dp"
android:text="Radio button inside RadioGroup" />
<!-- Customized RadioButtons -->
<RadioGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/radioGroup">
<RadioButton
android:id="@+id/radioMale"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text=" Male"
android:layout_marginTop="10dp"
android:checked="false"
android:textSize="20dp" />
<RadioButton
android:id="@+id/radioFemale"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text=" Female"
android:layout_marginTop="20dp"
android:checked="false"
android:textSize="20dp" />
</RadioGroup>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Show Selected"
android:id="@+id/button"
android:onClick="onclickbuttonMethod"
android:layout_gravity="center_horizontal" />
</LinearLayout>
এবার আমাদের জাভা ফাইল দেখতে হবে ,
File: MainActivity.java
package example.javatpoint.com.radiobutton;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
Button button;
RadioButton genderradioButton;
RadioGroup radioGroup;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
radioGroup=(RadioGroup)findViewById(R.id.radioGroup);
}
public void onclickbuttonMethod(View v){
int selectedId = radioGroup.getCheckedRadioButtonId();
genderradioButton = (RadioButton) findViewById(selectedId);
if(selectedId == -1){
Toast.makeText(MainActivity.this,"Nothing selected", Toast.LENGTH_SHORT).show();
}
else{
Toast.makeText(MainActivity.this,genderradioButton.getText(), Toast.LENGTH_SHORT).show();
}
}
}
তাহলে , একবার রান করে দেখালেই বিষয়টি আরো পরিষ্কার হয়ে যাবে তোমার কাছে !!
Android Dynamic RadioButton
------------------------------------------
আমরা , টুলস ব্যবহার করে -- রেডিও বাটন , ব্যবহার করি !! কিন্তু , আমরা কোনো প্রকার লেয়াউট ফাইলে রেডিও বাটন ইঙ্কলুড করা ছাড়া , জাভা ফাইল দিয়েও রেডিও বাটন বানাইতে পারি !! এবং এ ধরনের এক্টিভিটি আমাদের পরে আরো বেশী কাজে লাগবে !! এটাকে Dynamic RadioButton হিসেবে বলা হয় !!!
Dynamic RadioButton বানানোর জন্য , আমাদের android.view.ViewGroup.LayoutParams ব্যবহার করতে হবে !!
চলো , আমরা এবার একটা অ্যাপ্লিকেশন বানিয়ে ফেলি !!
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:id="@+id/rootContainer"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">
<RadioGroup
android:id="@+id/radioGroup"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="20dp">
</RadioGroup>
</LinearLayout>
এবার আমরা strings.xml ফাইল সাজিয়ে নেই !!
<resources>
<string name="app_name">DynamicRadioButton</string>
<string name="male">Male</string>
<string name="female">Female</string>
<string name="you_selected">You selected:</string>
</resources>
এখন বাকি থাকলো , আমাদের জাভা ফাইল -------------------
package com.tutorialwing.dynamicradiobutton;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LinearLayout linearLayout = findViewById(R.id.rootContainer);
// Create RadioButton Dynamically
RadioButton radioButton1 = new RadioButton(this);
radioButton1.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
radioButton1.setText(R.string.male);
radioButton1.setId(0);
RadioButton radioButton2 = new RadioButton(this);
radioButton2.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
radioButton2.setText(R.string.female);
radioButton2.setId(1);
RadioGroup radioGroup = findViewById(R.id.radioGroup);
if (radioGroup != null) {
radioGroup.addView(radioButton1);
radioGroup.addView(radioButton2);
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
String text = getString(R.string.you_selected);
text += " " + getString((checkedId == 0) ? R.string.male : R.string.female);
Toast.makeText(getApplicationContext(), text, Toast.LENGTH_SHORT).show();
}
});
}
}
}
তাহলে , আমরা প্রোগ্রাম লিখে দুইটা রেডিও বাটন ক্রিয়েট করি , আমাদের লেয়াউট এ !! তারপর , আমাদের রেডিও গ্রুপ ভিউ এ আমাদের এই দুইটা রেডিওবাটন ভিউ যোগ করবো , তারপর আমরা স্ট্রিং ফাইল এর নাম গুলো ইউজ করি আর তেক্সট সেট করি , আর মেথোডের সাহায্যে , যে বাটন সিলেক্ট করবো , তা আবার টোস্ট আকারে শো করাবো !! বার বার প্র্যাক্টিস করলে , বিষয়গুলি আরো পরিষ্কার হবে আশা করি !!!! আজ এইটুকুই
-------------------------------------------------------
আমরা এখন AlertDialog নিয়ে আলোচনা করবো !! এটা সাধারণত , এক ধরনের ডায়ালোগ মেসেজ শো করাতে ব্যবহার করা হয় , যেখানে OK আর Cancel বাটন থাকে ।
একটা AlertDialog এর তিন ধরনের রিজিয়ন থাকে , যেখানে title( টাইটেল) , content area( ডায়ালগ বক্সে কি লিখা থাকবে ?) and action buttons( OK আর Cancel বাটন ) !!
Android AlertDialog হলো , Dialog class এরই সাবক্লাস !!
AlertDialog class এর যেসব মেথোড , বহুল ব্যবহার হয় !!!
public AlertDialog.Builder setTitle(CharSequence) AlertDialog এর title সেট করে , এই মেথোড !!
public AlertDialog.Builder setMessage(CharSequence) AlertDialog এর কনটেন্ট এরিয়াতে কি মেসেজ থাকবে ? সেটা সেট করে , এই মেথোড !!
public AlertDialog.Builder setIcon(int) AlertDialog এর icon সেট করতে ব্যবহার হয় !!
এবার আমরা , এটা নিয়ে একটা অ্যাপ্লিকেশন বানিয়ে ফেলি , চলো ----------
activity_main.xml
File: activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="example.javatpoint.com.alertdialog.MainActivity">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button"
android:text="Close app"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
এবার আমরা সঠিক পদ্ধতিতে , strings.xml ফাইলে আমাদের টাইটেল আর মেসেজ স্ট্রিং আকারে স্টোর করবো !!
File: strings.xml
<resources>
<string name="app_name">AlertDialog</string>
<string name="dialog_message">Welcome to Alert Dialog</string>
<string name="dialog_title">Javatpoint Alert Dialog</string>
</resources>
এবার আমরা আমাদের , জাভা ফাইল দেখে নেই
File: MainActivity.java
package example.javatpoint.com.alertdialog;
import android.content.DialogInterface;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.app.AlertDialog;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
Button closeButton;
AlertDialog.Builder builder;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
closeButton = (Button) findViewById(R.id.button);
builder = new AlertDialog.Builder(this);
closeButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Uncomment the below code to Set the message and title from the strings.xml file
//builder.setMessage(R.string.dialog_message) .setTitle(R.string.dialog_title); ( আমরা এভাবে , স্ট্রিং ফাইল থেকে আমাদের মেসেজ আর টাইটেল সেট করতে পারি )
//Setting message manually and performing action on button click ( এখানে আমরা ম্যানুয়ালি , ক্লাস ফাইলের মাধ্যমেই মেসেজ আর টাইটেল সেট করলাম )
builder.setMessage("Do you want to close this application ?")
.setCancelable(false)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
finish();
Toast.makeText(getApplicationContext(),"you choose yes action for alertbox",
Toast.LENGTH_SHORT).show();
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// Action for 'NO' Button
dialog.cancel();
Toast.makeText(getApplicationContext(),"you choose no action for alertbox",
Toast.LENGTH_SHORT).show();
}
});
//Creating dialog box
AlertDialog alert = builder.create();
//Setting the title manually
alert.setTitle("AlertDialogExample");
alert.show();
}
});
}
}
তাহলে , আমরা কিভাবে স্ট্রিং ফাইল থেকে শো করানো যায় ? সেটাও দেখেছি , আবার কিভাবে ম্যানুয়ালি করা যেতে পারে ? সেটাও লিখেছি , তোমরা সাধারণত , স্ট্রিং ফাইল থেকে ইউজ করাটাও ব্যবহার করতে পারো , তাহলে অনেক ক্ষেত্রেই নিজের ইচ্ছেমতো অনেক কিছু শো করাতে পারবে , সেটা পরে সুবিধে হবে , তবে এখন তোমার ইচ্ছেমতো ব্যবহার করতে পারো !!
Android RadioButton
----------------------------------------
RadioButton হলো , কিছুটা আমাদের এর আগের করা চেকবক্সের মতোনই , বাট কিছুটা পরিবর্তন আছে , এখানে !! চেকবক্স যেমন, একবার চেকড আবার আনচেকড করা যায় !! কিন্তু , রেডিও বাটন কিন্তু একবার চেকড করে ফেললে , আর আনচেকড করতে পারবা না !! রেডিও বাটনের আরেকটা গুরুত্বপূর্ণ দিক আছে যেমন, তোমায় আমি চেকবক্সের সময় অনেকগুলো অপশন দিয়ে বলেছিলাম যেটা খুশী সিলেক্ট করী , কিন্তু আমি যদি বলতে চাই আমি তোমায় শুধু একটা সিলেক্ট করার অধিকার দিবো , একটার বেশী তুমি সিলেক্ট করেত পারবা না , আথলে আমি তখন এই কয়েকটা রেডিও বাটন একটা রেডিও গ্রুপে রেখে ব্যবহার করলেই , তুমি তখন ঠিক এরকম সুবিধে পাবে , শুধুমাত্র যেকোনো একটা ইলিমেন্ট আমরা সিলেক্ট করতে পারবো !!! তো যাই হোক , এবার আমরা শুরু করি !!
আমরা এখানে , একটা অ্যাপ্লিকেশন বানাবো ,যেটাতে আমরা নরমাল রেদীও বাটন ইউজ করবো , আবার রেডিও গ্রুপ ইউজ করে রেডিও বাটন ইউজ করবো , চলো দেখে নেই
activity_main.xml
File: activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="example.javatpoint.com.radiobutton.MainActivity">
<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
android:gravity="center_horizontal"
android:textSize="22dp"
android:text="Single Radio Buttons" />
<!-- Default RadioButtons -->
<RadioButton
android:id="@+id/radioButton1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="Radio Button 1"
android:layout_marginTop="20dp"
android:textSize="20dp" />
<RadioButton
android:id="@+id/radioButton2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Radio Button 2"
android:layout_marginTop="10dp"
android:textSize="20dp" />
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:layout_marginTop="20dp"
android:background="#B8B894" />
<TextView
android:id="@+id/textView2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
android:gravity="center_horizontal"
android:textSize="22dp"
android:text="Radio button inside RadioGroup" />
<!-- Customized RadioButtons -->
<RadioGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/radioGroup">
<RadioButton
android:id="@+id/radioMale"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text=" Male"
android:layout_marginTop="10dp"
android:checked="false"
android:textSize="20dp" />
<RadioButton
android:id="@+id/radioFemale"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text=" Female"
android:layout_marginTop="20dp"
android:checked="false"
android:textSize="20dp" />
</RadioGroup>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Show Selected"
android:id="@+id/button"
android:onClick="onclickbuttonMethod"
android:layout_gravity="center_horizontal" />
</LinearLayout>
এবার আমাদের জাভা ফাইল দেখতে হবে ,
File: MainActivity.java
package example.javatpoint.com.radiobutton;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
Button button;
RadioButton genderradioButton;
RadioGroup radioGroup;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
radioGroup=(RadioGroup)findViewById(R.id.radioGroup);
}
public void onclickbuttonMethod(View v){
int selectedId = radioGroup.getCheckedRadioButtonId();
genderradioButton = (RadioButton) findViewById(selectedId);
if(selectedId == -1){
Toast.makeText(MainActivity.this,"Nothing selected", Toast.LENGTH_SHORT).show();
}
else{
Toast.makeText(MainActivity.this,genderradioButton.getText(), Toast.LENGTH_SHORT).show();
}
}
}
তাহলে , একবার রান করে দেখালেই বিষয়টি আরো পরিষ্কার হয়ে যাবে তোমার কাছে !!
Android Dynamic RadioButton
------------------------------------------
আমরা , টুলস ব্যবহার করে -- রেডিও বাটন , ব্যবহার করি !! কিন্তু , আমরা কোনো প্রকার লেয়াউট ফাইলে রেডিও বাটন ইঙ্কলুড করা ছাড়া , জাভা ফাইল দিয়েও রেডিও বাটন বানাইতে পারি !! এবং এ ধরনের এক্টিভিটি আমাদের পরে আরো বেশী কাজে লাগবে !! এটাকে Dynamic RadioButton হিসেবে বলা হয় !!!
Dynamic RadioButton বানানোর জন্য , আমাদের android.view.ViewGroup.LayoutParams ব্যবহার করতে হবে !!
চলো , আমরা এবার একটা অ্যাপ্লিকেশন বানিয়ে ফেলি !!
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:id="@+id/rootContainer"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">
<RadioGroup
android:id="@+id/radioGroup"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="20dp">
</RadioGroup>
</LinearLayout>
এবার আমরা strings.xml ফাইল সাজিয়ে নেই !!
<resources>
<string name="app_name">DynamicRadioButton</string>
<string name="male">Male</string>
<string name="female">Female</string>
<string name="you_selected">You selected:</string>
</resources>
এখন বাকি থাকলো , আমাদের জাভা ফাইল -------------------
package com.tutorialwing.dynamicradiobutton;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LinearLayout linearLayout = findViewById(R.id.rootContainer);
// Create RadioButton Dynamically
RadioButton radioButton1 = new RadioButton(this);
radioButton1.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
radioButton1.setText(R.string.male);
radioButton1.setId(0);
RadioButton radioButton2 = new RadioButton(this);
radioButton2.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
radioButton2.setText(R.string.female);
radioButton2.setId(1);
RadioGroup radioGroup = findViewById(R.id.radioGroup);
if (radioGroup != null) {
radioGroup.addView(radioButton1);
radioGroup.addView(radioButton2);
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
String text = getString(R.string.you_selected);
text += " " + getString((checkedId == 0) ? R.string.male : R.string.female);
Toast.makeText(getApplicationContext(), text, Toast.LENGTH_SHORT).show();
}
});
}
}
}
তাহলে , আমরা প্রোগ্রাম লিখে দুইটা রেডিও বাটন ক্রিয়েট করি , আমাদের লেয়াউট এ !! তারপর , আমাদের রেডিও গ্রুপ ভিউ এ আমাদের এই দুইটা রেডিওবাটন ভিউ যোগ করবো , তারপর আমরা স্ট্রিং ফাইল এর নাম গুলো ইউজ করি আর তেক্সট সেট করি , আর মেথোডের সাহায্যে , যে বাটন সিলেক্ট করবো , তা আবার টোস্ট আকারে শো করাবো !! বার বার প্র্যাক্টিস করলে , বিষয়গুলি আরো পরিষ্কার হবে আশা করি !!!! আজ এইটুকুই
No comments:
Post a Comment