HOLA, gracias, estoy usando un socket y pasando objetos JSON al AyncTask, estoy modificando tu ejemplo de listas
(http://jarroba.com/listview-o-listado-en-android/),
colocando dentro de los tabs los listView, lo que ahora esto realizando es: posicionar el código dentro del AsynTask; pero para no equivocarme, ya que como la visual no es conveniente ejecutarla en segundo plano. Entonces lo que quiero es poder guarda primero la lista y despues pasarsela al Layout
Ese es el Asyntask, aun no lo escribo completo pero esta es la idea, primero es :
public class conectTask extends AsyncTask<String,String,JSONObject> {
@Override
protected JSONObject doInBackground(String… message) {
Log.e(“Execute”, “por aka paso”);
//we create a TCPClient object and
mTcpClient = new TCPClient(new TCPClient.OnMessageReceived() {
@Override
//here the messageReceived method is implemented
public JSONObject messageReceived(String message) {
//this method calls the onProgressUpdate
publishProgress(message);
return null;
}
});
mTcpClient.run();
Log.e(“doin”,”ejecuto”);
return null;
}
@Override
protected void onProgressUpdate(String… values) {
super.onProgressUpdate(values);
String permiso = “113a7f0c601f3d56b2cf4c9cca5ce636″;
try {
JSONArray answer=new JSONArray(String.valueOf(values[0]));
String acceso=answer.getString(answer.length()-1);
Log.e(“largo JSONArray”, String.valueOf(answer.length()));
if(acceso.equals(permiso)){
answer.isNull(answer.length());
for(int i=0;i<answer.length()-1;i++){
JSONObject JPredio=new JSONObject(answer.get(i).toString());
visitas.add(new VisitaEntrada(
(Date)JPredio.get(“fecha”),
JPredio.getString(“cliente”),
JPredio.getString(“predio”),
JPredio.getString(“ubicacion”),
JPredio.getInt(“id_user”),
JPredio.getInt(“id_farm”),
JPredio.getInt(“id_solicitud”)));
}
}
else
Toast.makeText(AdminMenu.this, “acceso denegado”, Toast.LENGTH_SHORT).show();
} catch (JSONException e) {
e.printStackTrace();
}
}
@Override
protected void onPostExecute(JSONObject report) {
super.onPostExecute(report);
lista.setAdapter(new Lista_Adaptador(AdminMenu.this, R.layout.input_visitas_admin, visitas){
@Override
public void onEntrada(Object entrada, View view) {
TextView fecha = (TextView) view.findViewById(R.id.tv_date_input_visit);
TextView predio = (TextView) view.findViewById(R.id.tv_farm_input_visit);
TextView cliente = (TextView) view.findViewById(R.id.tv_user_input_visit);
fecha.setText((CharSequence)/*funciona?*/ ((VisitaEntrada) entrada).getFecha());
cliente.setText(((VisitaEntrada) entrada).getCliente());
predio.setText(((VisitaEntrada) entrada).getIdFarm());
}
});
}
}