آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
مشکل عدم دسترسی خریداران پیشین به برخی آموزش ها برطرف شد
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

رادیو گروپ در لیست ویو

jamal2012  8 سال پیش  8 سال پیش
0 0

من یه لیست ویو دارم که توش یه رادیو گروپ با 4 رادیو باتن هست من میخوام از دیتا بیس که دارم این رادیو باتن ها تیکش زده بشه  تو دیتا بیسم یه ستون دارم به اسم answerکه جوابهایی رو کاربر وارد میکنه رو میگیره مثلا رورادیو باتن 1  کلیک میکنه مقدار 1 تو answer ذخیره میشه وروی رادیو باتن 2 کلیک میکنه مقدار2 تو answerذخیره میشه و الی اخر... من میخوام تواسکرول کردن لیست ویو این رادیو باتن هام تیکش به هم نخوره و وقتی از صفحه خارج میشم ودوباره برمیگردم گزینه ها تیک داشته باشن یعنی مقدار تیکشونو از answer بگیرن اینم کدم هست

 public ViewHolder(View view) {
radioGroup = (RadioGroup) view.findViewById(R.id.myRadioGroup);
txtSoal = (TextView) view.findViewById(R.id.txtSoal);
rd1 = (RadioButton) view.findViewById(R.id.rd1);
rd2 = (RadioButton) view.findViewById(R.id.rd2);
rd3 = (RadioButton) view.findViewById(R.id.rd3);
rd4 = (RadioButton) view.findViewById(R.id.rd4);
matnRow = (View) view.findViewById(R.id.matnRow);

}


public void fill(final ArrayAdapter<StructApplicationMatn> matnAdapter, final StructApplicationMatn itemM, final int position)
{

txtSoal.setText(itemM.txtSoal);
// gozine1.setText(itemM.gozine1);
// gozine2.setText(itemM.gozine1);
// gozine3.setText(itemM.gozine1);
// gozine4.setText(itemM.gozine1);

radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {

@Override
public void onCheckedChanged(RadioGroup arg0, int checkedId) {
itemM.selectedId = checkedId;
if (checkedId == R.id.rd1)
{

// Toast.makeText(G.currentActivity.getBaseContext(), "گزینه 1انتخاب شد",
// Toast.LENGTH_SHORT).show();
SQLiteDatabase database = db.getReadableDatabase();

ContentValues cv1 = new ContentValues();
cv1.put("answer", 1);
database.update("first", cv1, "id " + "=" + itemM.id, null);
// itemM.answer = '1';
// matnAdapter.notifyDataSetChanged();

}

else if (checkedId == R.id.rd2)
{

// Toast.makeText(G.currentActivity.getBaseContext(), "گزینه 2انتخاب شد",
// Toast.LENGTH_SHORT).show();
SQLiteDatabase database = db.getReadableDatabase();

ContentValues cv1 = new ContentValues();
cv1.put("answer", 2);
database.update("first", cv1, "id " + "=" + itemM.id, null);
// itemM.answer = '2';
// matnAdapter.notifyDataSetChanged();

} else if (checkedId == R.id.rd3)
{

// Toast.makeText(G.currentActivity.getBaseContext(), "گزینه 3انتخاب شد",
// Toast.LENGTH_SHORT).show();
SQLiteDatabase database = db.getReadableDatabase();

ContentValues cv1 = new ContentValues();
cv1.put("answer", 3);
database.update("first", cv1, "id " + "=" + itemM.id, null);
//itemM.answer = '3';
// matnAdapter.notifyDataSetChanged();

} else if (checkedId == R.id.rd4)
{

// Toast.makeText(G.currentActivity.getBaseContext(), "گزینه 4انتخاب شد",
// Toast.LENGTH_SHORT).show();
SQLiteDatabase database = db.getReadableDatabase();

ContentValues cv1 = new ContentValues();
cv1.put("answer", 4);
database.update("first", cv1, "id " + "=" + itemM.id, null);
// itemM.answer = '4';
// matnAdapter.notifyDataSetChanged();

}

}
});
if (itemM.answer == 1)

{
rd1.setChecked(true);

} else if (itemM.answer == 2)
{

rd2.setChecked(true);

} else if (itemM.answer == 3)
{

rd3.setChecked(true);

} else if (itemM.answer == 4)
{

rd4.setChecked(true);

}
if (itemM.selectedId == 0) {
radioGroup.clearCheck();
} else {
radioGroup.check(itemM.selectedId);
}
{
+1 0
اگر درست متوجه سوال شده باشم مشکل شما فقط قسمت تیک هست! setChecked تابع برای تیک زدن یا انتخاب میتونید استفاده کنید (8 سال پیش)
0 0
سلام دوست ممن سوال رو کامل کردم اگر مقدوره براتون کمکم کنید (8 سال پیش)
0 0
پروژتو ایمیل کن->mahdi6989@gmail.com (8 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
namdar79  8 سال پیش
+1 0

دوست عزیز شما باید اول مقدار answer رو از دیتابیس بگیری یک boolean درست کنی و با یک دستور شرطی با مقداری که از دیتابیس گرفتی مقدار اونو تنظیم کنی و همون طور که دوست گرامی  k112  گفتند از متد setChecked درون شی های ایجاد شده توسط کلاس RadioButton استفاده کنید

منظورم این قسمته

  rd1 =(RadioButton) view.findViewById(R.id.rd1);
rd2 =(RadioButton) view.findViewById(R.id.rd2);
rd3 =(RadioButton) view.findViewById(R.id.rd3);
rd4 =(RadioButton) view.findViewById(R.id.rd4);



برای مثال :

 

boolean boole;
 if(answer == 1 ){
boole = true;
}
rd2.setChecked (boole );
0 0
منم همین کار رو کردم دوست من (8 سال پیش)
0 0
لطفا کمک کنید (8 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .