আমার RadioButtonভিতরে দুটি আছে RadioGroup। আমি সেট করতে চান OnClickListenerসেই উপর RadioButtonগুলি। RadioButtonকোনটি ক্লিক করা হয়েছে তার উপর নির্ভর করে আমি একটিটির পাঠ্য পরিবর্তন করতে চাই EditText। আমি কীভাবে এটি অর্জন করতে পারি?
আমার RadioButtonভিতরে দুটি আছে RadioGroup। আমি সেট করতে চান OnClickListenerসেই উপর RadioButtonগুলি। RadioButtonকোনটি ক্লিক করা হয়েছে তার উপর নির্ভর করে আমি একটিটির পাঠ্য পরিবর্তন করতে চাই EditText। আমি কীভাবে এটি অর্জন করতে পারি?
উত্তর:
আমি মনে করি এর চেয়ে আরও ভাল উপায় হ'ল RadioGroupশ্রোতাকে সে Viewঅনুযায়ী পরিবর্তন এবং আপডেট করার জন্য সেট করা (আপনার 2 বা 3 বা 4 ইত্যাদি শ্রোতা থাকা বাঁচায়)।
RadioGroup radioGroup = (RadioGroup) findViewById(R.id.yourRadioGroup);
radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
// checkedId is the RadioButton selected
}
});
আশা করি এটা তোমাকে সাহায্য করবে...
RadioButton rb = (RadioButton) findViewById(R.id.yourFirstRadioButton);
rb.setOnClickListener(first_radio_listener);
এবং
OnClickListener first_radio_listener = new OnClickListener (){
public void onClick(View v) {
//Your Implementaions...
}
};
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener()
{
public void onCheckedChanged(RadioGroup group, int checkedId) {
// checkedId is the RadioButton selected
RadioButton rb=(RadioButton)findViewById(checkedId);
textViewChoice.setText("You Selected " + rb.getText());
//Toast.makeText(getApplicationContext(), rb.getText(), Toast.LENGTH_SHORT).show();
}
});
groupপ্রয়োজনীয় RadioButton rb=(RadioButton)group.findViewById(checkedId);
প্রশ্ন ছিল শনাক্তকারী যা রেডিও বোতাম ক্লিক করা হয়, তাহলে এটি আপনাকে কিভাবে পেতে পারেন বোতাম ক্লিক করা হয়
final RadioGroup radio = (RadioGroup) dialog.findViewById(R.id.radioGroup1);
radio.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
View radioButton = radio.findViewById(checkedId);
int index = radio.indexOfChild(radioButton);
// Add logic here
switch (index) {
case 0: // first button
Toast.makeText(getApplicationContext(), "Selected button number " + index, 500).show();
break;
case 1: // secondbutton
Toast.makeText(getApplicationContext(), "Selected button number " + index, 500).show();
break;
}
}
});
আপনি এক্সএমএল লেআউট থেকে শ্রোতাদের যোগ করতে পারেন: android:onClick="onRadioButtonClicked"আপনার <RadioButton/>ট্যাগে।
<RadioButton android:id="@+id/radio_pirates"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/pirates"
android:onClick="onRadioButtonClicked"/>
দেখুন Android বিকাশকারী SDK- রেডিও বোতাম বিস্তারিত জানার জন্য।
সেক্ষেত্রে অন্য কেউ গৃহীত উত্তরের সাথে লড়াই করছেন:
বিভিন্ন অন-চেকড চ্যাঞ্জলিস্টেনার-ইন্টারফেস রয়েছে। আমি চেকবক্স পরিবর্তন করা হয়েছে কিনা তা দেখতে আমি প্রথমটিতে যুক্ত করেছি।
import android.widget.CompoundButton.OnCheckedChangeListener;
বনাম
import android.widget.RadioGroup.OnCheckedChangeListener;
রিকি থেকে স্নিপেট যুক্ত করার সময় আমার ত্রুটি ছিল:
রেডিওগ্রুপ প্রকারে সেটঅনচেকড চ্যাঞ্জলিস্টনার (রেডিওগ্রুপ.অন চেকড চ্যাঞ্জলিস্টনার) পদ্ধতিটি আর্গুমেন্টের জন্য প্রযোজ্য নয় (নতুন কমপাউন্ডবটন.অনন চেকড চ্যাঞ্জলিস্টনার ()}})
আলীর উত্তর দিয়ে স্থির করা যেতে পারে:
new RadioGroup.OnCheckedChangeListener()
যেহেতু এই প্রশ্নটি জাভা সম্পর্কিত নয়, তাই আপনি কীভাবে কোটলিনে এটি করতে পারেন তা আমি যুক্ত করতে চাই :
radio_group_id.setOnCheckedChangeListener({ radioGroup, optionId -> {
when (optionId) {
R.id.radio_button_1 -> {
// do something when radio button 1 is selected
}
// add more cases here to handle other buttons in the RadioGroup
}
}
})
এখানে সম্পর্কিত রেডিওগ্রুপের radio_group_idনিয়োগ দেওয়া আছে android:id। এটি এভাবে ব্যবহার করতে আপনাকে kotlinx.android.synthetic.main.your_layout_name.*আপনার ক্রিয়াকলাপের কোটলিন ফাইলটিতে আমদানি করতে হবে । এছাড়াও লক্ষ করুন যে radioGroupল্যাম্বডা প্যারামিটারটি অব্যবহৃত থাকলে _কোটলিন ১.১ থেকে এটি (আন্ডারস্কোর) দিয়ে প্রতিস্থাপন করা যেতে পারে ।
RadioGroup radioGroup = (RadioGroup) findViewById(R.id.yourRadioGroup);
radioGroup.setOnClickListener(v -> {
// get selected radio button from radioGroup
int selectedId = radioGroup.getCheckedRadioButtonId();
// find the radiobutton by returned id
radioButton = findViewById(selectedId);
String slectedValue=radioButton.getText()
});
কোটলিনের জন্য এখানে ল্যাম্বডা এক্সপ্রেশন যুক্ত করা হয়েছে এবং কোডটি অনুকূলিত করা হয়েছে।
radioGroup.setOnCheckedChangeListener { radioGroup, optionId ->
run {
when (optionId) {
R.id.radioButton1 -> {
// do something when radio button 1 is selected
}
R.id.radioButton2 -> {
// do something when radio button 2 is selected
}
// add more cases here to handle other buttons in the your RadioGroup
}
}
}
আশা করি এটা তোমাকে সাহায্য করবে। ধন্যবাদ!