Я хочу включить или отключить кнопки «botonReserva» и «botonPersonas», в зависимости от результата условия, однако я всегда отправляю следующую ошибку при изменении свойства.Аниматоры могут работать только на петельных потоках
Я думал, что проблема возникла, поскольку была сделана попытка включить ее, когда она уже была включена, и я пытался отключить ее, когда она была отключена, поэтому я поставил индикаторчтобы определить, была ли она уже включена, и не включать ее снова, но появляется та же ошибка
String mensaje;
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(getActivity());
pDialog.setMessage("Verificando capacidad del lugar el dia " + fecha.getText().toString());
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
}
@Override
protected String doInBackground(String... args) {
int status, numero;
numeroPersonas = numeroPersonasSQL;
suma_personas = 0;
capacidadPersonas = 0;
try {
List paramsReservacion = new ArrayList();
paramsReservacion.add(new BasicNameValuePair("id_establecimiento", idEstablecimiento));
paramsReservacion.add(new BasicNameValuePair("fecha", fecha.getText().toString()));
JSONObject jsonObject = json.makeHttpRequest(URL_CAPACIDAD, paramsReservacion);
status = jsonObject.getInt(TAG_STATUS);
if(status == 1) {
capacidad_fecha = jsonObject.getJSONArray("capacidad_fecha");
if(capacidad_fecha.length() > 0) {
for (int i = 0; i < capacidad_fecha.length(); i++) {
JSONObject c = capacidad_fecha.getJSONObject(i);
numero = c.getInt("numero_personas");
suma_personas = suma_personas + numero;
}
capacidadPersonas = capacidad - suma_personas;
botonReserva.setEnabled(capacidadPersonas > 0);
botonPersonas.setEnabled(capacidadPersonas >= 1);
if(capacidadPersonas <= 0){
mensajeString = "No hay lugares disponibles para el dia: " + fecha.getText().toString();
personas.setText("0");
} else{
personas.setText("1");
}
if(capacidadPersonas == 1){
numeroPersonas = 1;
mensajeString ="Queda: " + capacidadPersonas + " lugar disponible para el dia: " + fecha.getText().toString();
}
if(numeroPersonasSQL > capacidadPersonas){
numeroPersonas = capacidadPersonas;
mensajeString ="Quedan: " + capacidadPersonas + " lugares disponibles para el dia: " + fecha.getText().toString();
}
if(numeroPersonasSQL < capacidadPersonas){
numeroPersonas = numeroPersonasSQL;
mensajeString ="Quedan: " + capacidadPersonas + " lugares disponibles para el dia: " + fecha.getText().toString();
}
}
}
mensajeTxt.setText(mensajeString);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
protected void onPostExecute(String s) {
pDialog.dismiss();
}
}
Я хотел бы знать, как решить эту проблему, поскольку я не нашел много документацииоб этом.