Я пытаюсь реализовать progressDialog, пока я получаю информацию с сервера (используя библиотеку VOlley). Я получаю всю информацию с сервера, а также отклоняю progressDialog, но проблема в том, что я получаю сообщение об ошибке Android Studio, в котором говорится, что «sendUserActionEvent () возвращено».:
2020-03-26 16:58:57.239 19869-19869/com.example.clientes E/ViewRootImpl: sendUserActionEvent() returned.
Я пытался следить за всеми публикациями на сайте, но я не нашел, по какой причине я получаю такую ошибку. Кстати, приложение было протестировано в Huawey и Samsung, и я не вижу каких-либо негативных последствий, но я хотел бы знать, Приведите причину и решите ее, чтобы избежать дальнейших проблем.
Примечание. Когда я не использую progressDialog, ошибка исчезает из Android Studio LogCat, поэтому я предполагаю, что что-то отсутствует в моем коде.
Это весь мой код.
public class BuscarClientes extends AppCompatActivity implements Response.Listener<JSONObject>, Response.ErrorListener{
EditText dni;
TextView nombre;
TextView profesion;
Button consultar;
ProgressDialog progreso;
RequestQueue rekuest;
JsonObjectRequest jsonObjectRequest;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_buscar_clientes);
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
this.setTitle("Consultar Clientes");
//setContentView(R.layout.activity_consultar_clientes);
dni=(EditText)findViewById(R.id.dni);
nombre=(TextView)findViewById(R.id.nombre);
profesion=(TextView)findViewById(R.id.profesion);
consultar=(Button)findViewById(R.id.button2);
rekuest= Volley.newRequestQueue(getApplicationContext()); //or use this instead getApplicationContext
consultar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(!TextUtils.isEmpty(dni.getText().toString())){
CargarwSDL();
}
}
});
}
private void CargarwSDL(){
//importante colocar en el android manifies application esto: android:usesCleartextTraffic="true"
//alternativamente puedes usar esto: <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> en el android manifiest
//progreso.setProgressStyle(ProgressDialog.STYLE_SPINNER);
//progreso.show(this,"Buscando Cliente","...Espere unos segundos por favor",false,true);
progreso=new ProgressDialog(this); //en lugar de pasar el getApplication context pasar nombre de clase.this o solo this
progreso.setMessage("...Consultando, por favor espere");
progreso.setIndeterminate(false);
progreso.show();
consultar.setEnabled(false);
String url="http://192.168.43.41/folder/index.php?id=1&dni="+dni.getText().toString();
jsonObjectRequest=new JsonObjectRequest(Request.Method.GET,url,null,this,this);
rekuest.add(jsonObjectRequest);
}
@Override
public void onResponse(JSONObject response) {
progreso.dismiss();
//Toast.makeText(getApplicationContext(),"mensaje: "+response,Toast.LENGTH_LONG).show();
Usuario miUsuario=new Usuario();
JSONArray json=response.optJSONArray("usuario");
JSONObject jsonObject=null;
try {
jsonObject=json.getJSONObject(0);
miUsuario.setNombre(jsonObject.optString("nombres"));
miUsuario.setProfesion(jsonObject.optString("profesion"));
} catch (JSONException e) {
e.printStackTrace();
}
nombre.setText(miUsuario.getNombre());
profesion.setText(miUsuario.getProfesion());
consultar.setEnabled(true);
}
@Override
public void onErrorResponse(VolleyError error) {
progreso.dismiss();
Toast.makeText(getApplicationContext(),"No se pudo consultar "+ error.toString(),Toast.LENGTH_LONG).show();
Log.e("Cabepao_ERROR:",error.toString());
consultar.setEnabled(true);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu,menu);
return true;
}
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
if(item.getItemId()==R.id.action_settings){
//Toast.makeText(this, item.getItemId()+"hooola",Toast.LENGTH_LONG).show();
Intent preferenceIntent=new Intent(this, Configuracion.class);
this.startActivity(preferenceIntent);
}
return true;
}
}