У меня есть кнопка в представлении рециркулятора, когда я нажимаю ее, я хочу изменить текст кнопки и сделать сетевой вызов с помощью volly.
Я получаю это исключение
Java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
Итак,Я проверил этот ответ и создал класс, расширяющий класс Thread, сделал в нем сетевой вызов и вызвал его из адаптера
Но он все еще показывает ту же ошибку.
Я не понимаю, что мне нужно выполнить в главном потоке, а что в новом потоке.
Это вызов от адаптера представления рециркулятора
pdc_viewHolder.toggleButton_paymentStatus.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean toggleOn) {
if (toggleOn) {
// Toggle on = PAID
// Change the color of background
pdc_viewHolder.activity_dashboard_recyclerView_row_toggleButton_paymentStatus.setBackgroundDrawable(context.getResources().getDrawable(R.drawable.shape_layout_toggle_button_dashboard_paid_state));
MyThread myThread = new MyThread(bankNameAdap, context);
myThread.start();
} else if (!toggleOn) {
// Toggle off = PENDING
//Change the toggle button background
pdc_viewHolder.activity_dashboard_recyclerView_row_toggleButton_paymentStatus.setBackgroundDrawable(context.getResources().getDrawable(R.drawable.shape_layout_toggle_button_dashboard_pending_state));
MyThread myThread = new MyThread(bankNameAdap, context);
myThread.start();
}
}
});
, и я звоню Volley-Метод POST в классе MyThread в методе run ().
Как это исправить?