Buenas, al hacer esto mismo en mi CustomListViewAdapter
en un Fragment
la aplicación se cierra cuando cargo las imagenes de la BD.
En mi Fragment
tengo lo siguiente:
@SuppressLint("NewApi")
public class FragmentCalendario extends Fragment {
View rootView;
ListView listCalendario;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
rootView = inflater.inflate(R.layout.activity_calendario, container, false);
listCalendario = (ListView) rootView.findViewById(R.id.listadoViewPartidos);
StrictMode.enableDefaults();
new LoadBackgroudData().execute();
return rootView;
}
class LoadBackgroudData extends AsyncTask<String, String, String> {
List<ListViewItem> items = new ArrayList<FragmentCalendario.ListViewItem>();
String resultadoMatch = "";
String resultadoMatch2 = "";
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected String doInBackground(String... params) {
// Perform load data method here
// It may be a network operation(loading data from server)
// or simply loading data from local database
String login_url = "http://archivo.php";
try {
URL url = new URL(login_url);
HttpURLConnection httpURLConnection = (HttpURLConnection)url.openConnection();
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setDoOutput(true);
httpURLConnection.setDoInput(true);
OutputStream outputStream = httpURLConnection.getOutputStream();
/*
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream,"UTF-8"));
String data = URLEncoder.encode("login_name","UTF-8")+"="+URLEncoder.encode(login_name,"UTF-8")+"&"+
URLEncoder.encode("login_pass","UTF-8")+"="+URLEncoder.encode(login_pass,"UTF-8");
bufferedWriter.write(data);
bufferedWriter.flush();
bufferedWriter.close();
*/
outputStream.close();
InputStream inputStream = httpURLConnection.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream,"iso-8859-1"));
String response = "";
String line = "";
while ((line = bufferedReader.readLine())!=null)
{
response+= line;
}
bufferedReader.close();
inputStream.close();
httpURLConnection.disconnect();
return response;
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
@SuppressLint("NewApi")
@Override
protected void onPostExecute(String result) {
// after execution go to second activity
try {
JSONArray partidos = new JSONArray(result);
String imagenLocal = "";
String imagenVisitante = "";
String imagenLocal2 = "";
String imagenVisitante2 = "";
String jornada = "";
String jornada2 = "";
String horario = "";
int contador = 0;
for (int i = 0; i < partidos.length(); i++) {
final JSONObject partido = partidos.getJSONObject(i);
final int contadorFinal = contador;
String equipoLocal = partido.getString("local");
String estado = partido.getString("estado");
if (equipoLocal.equals("Equipo") && !estado.equals("descanso")) {
items.add(new ListViewItem() {
{
ThumbnailResource = partido.getString("img_local");
Title = partido.getString("local") + " "
+ partido.getString("resultado") + " "
+ partido.getString("visitante");
ThumbnailResource2 = partido.getString("img_visitante");
}
});
contador = contador + 1;
} else if (equipoLocal.equals("Equipo")
&& estado.equals("descanso")) {
items.add(new ListViewItem() {
{
Title = partido.getString("resultado");
}
});
} else {
items.add(new ListViewItem() {
{
ThumbnailResource = partido.getString("img_visitante");
Title = partido.getString("local") + " "
+ partido.getString("resultado") + " "
+ partido.getString("visitante");
ThumbnailResource2 = partido.getString("img_local");
}
});
contador = contador + 1;
}
}
CustomListViewAdapterCalendario adapter = new CustomListViewAdapterCalendario(
getActivity(), items);
listCalendario.setAdapter(adapter);
} catch (JSONException e) {
}
}
}
class ListViewItem {
public String ThumbnailResource;
public String Title;
public String ThumbnailResource2;
}
}
He probado a no mostrar las imagenes y el texto si me aparece correctamente, pero cuando intento cargar las imagenes la aplicación se cierra automáticamente.
Este Fragment
lo muestro al hacer click en un DrawerLayout
.
Como puedo hacer para que no se cierre la aplicación, muchas gracias!