Salve ragazzi, siccome è la prima volta che uso l'adapter, volevo chiedervi una mano.
Praticamente ho un'activity (Seconda.java) nella quale creo una lista nella quale andranno ad essere visualizzate delle stringhe che prelevo correttamente tramite parsing . Il problema è che avvio l'app, non mi da nessun errore, ma non vi visualizza le stringhe .Vi posto il codice dell'attività e i due layout che ho creato per la relativa activity.
Seconda.java
public class Seconda extends Activity {
ListView date1;
String url="http:......";
ProgressDialog mProgressDialog;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_seconda);
// recupero lista da id
date1 = (ListView)findViewById(R.id.date1);
// eseguo Titolo AsyncTask
new Titolo().execute();
}
// Eseguo Titolo Asyntask
private class Titolo extends AsyncTask<Void, Void, String>
{
// lista delle date pomeridiane
ArrayList<String> titoli;
Document doc;
protected void onPreExecute()
{
super.onPreExecute();
//prima di eseguire il parsing inizializzo gli arraylist
titoli = new ArrayList<String>();
mProgressDialog = new ProgressDialog(Seconda.this);
mProgressDialog.setTitle("Recovery Data");
mProgressDialog.setMessage("Loading");
mProgressDialog.setIndeterminate(false);
mProgressDialog.show();
}
@Override
protected String doInBackground(Void... arg0) {
// TODO Auto-generated method stub
try
{
//connettiti al sito
// sfrutta la codifica ISO-8859-1 in modo tale da poter fare l'encode in maniera corretta.
doc = Jsoup.parse(new java.net.URL(url).openStream(), "ISO-8859-1", url);
Element tbody = doc.select("table[width=809]").first().child(0);
// mi prendo tutti i figli di tbody
Elements rows = tbody.children();
// cancello le prime 4 righe corrispondenti a <tr>
Element riga = rows.get(4);
// ogni mese quando si aggiorna il sito, cambiare l'indice del ciclo for
for(int i = 2; i <= 8; i++)
{
String periodo = riga.select("div span strong").get(i).text();
//Log.d("Valore periodo= ", periodo); // stampa nel logcat il valore della variabile
titoli.add(periodo);
}
}
catch(Exception e)
{
// gestione dell'eccezione
// ad esempio mostrare messaggio di errore o altro (qui nel logcat)
Log.e("MYAPP", "exception: " + e.toString()); // il metodo e.toString()
// indica l'errore che ha
// generato l'eccezione
}
return null;
}
protected void onPostExecute(String result)
{
// dopo che ho eseguito il parsing mostro i dati nella listview
// usando il custom array adpater ParsingArrayAdapter
ParsingArrayAdapter adapter = new ParsingArrayAdapter(Seconda.this, titoli);
date1.setAdapter(adapter);
mProgressDialog.dismiss();
}
}
}
activity_seconda.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#000000" >
<TextView
android:id="@+id/textTitolo1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:text="@string/titolo1"
android:textColor="#009933"
android:textSize="30dp"
android:textStyle="bold|italic"
android:gravity="center"/>
<ListView
android:id="@+id/date1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1" >
</ListView>
</LinearLayout>
activity_riga_litview
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/riga_listview_titolo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Medium Text"
android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
Mi dareste una mano a capire quale è il problema?? Grazie mille.