Я успешно реализовал переключатель с залпом.Пример данных в моем залпе 1, 2, 3
.Когда я выбираю переключатель 1, а затем выбираю переключатель 2, переключатель 1 отключается.Это нормальная ситуация, но когда я снова выбираю переключатель 2, переключатель отключается, и я больше не могу его выбрать.
Это код, который я вставил в адаптер:
@Override
public void onBindViewHolder(final ViewHolder holder, final int position) {
SharedPreferences sharedPreferences = context.getSharedPreferences(AppConfig.APP_PUPUKKUJANG_MART, Context.MODE_PRIVATE);
final String whois = sharedPreferences.getString(AppConfig.USER_WHOIS,null);
row_index = -1;
holder.itemView.setTag(service.get(position));
final ServiceCourier p = service.get(position);
holder.service.setText(p.getService());
holder.desc.setText(p.getDescription());
holder.cost.setText("Rp "+String.format(Locale.US, "%1$,.0f", Double.valueOf(p.getCost())).replace(",","."));
holder.etd.setText(p.getEtd());
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
View.OnClickListener rbClick = new View.OnClickListener() {
@Override
public void onClick(View v) {
RadioButton checked_rb = (RadioButton) v;
if(lastCheckedRB != null){
ActivityCheckout.updateTextViewIscek("0");
lastCheckedRB.setChecked(false);
}
lastCheckedRB = checked_rb;
SharedPreferences sharedPreferences = context.getSharedPreferences(AppConfig.APP_, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("ongkir_service", p.getService());
editor.putString("ongkir_description", p.getDescription());
editor.putString("ongkir_cost", p.getCost());
editor.putString("ongkir_etd", p.getEtd());
editor.apply();
String cost = String.format(Locale.US, "%1$,.0f", Double.valueOf(p.getCost()));
Double total_order = ActivityCheckout.getTextViewTotal();
Double tf = Double.valueOf(p.getCost())+total_order;
ActivityCheckout.updateTextViewIscek("1");
ActivityCheckout.updateTextView("Rp "+cost.replace(",","."));
ActivityCheckout.updateTotal_fees("Rp "+String.format(Locale.US, "%1$,.0f", tf).replace(",","."));
}
};
holder.radiobutton.setOnClickListener(rbClick);
}