package pl.pip.WUAndroid;
import java.util.ArrayList;
import java.util.List;
import pl.pip.WUAndroid.classes.Plan;
import android.app.Activity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
public class PlanListAdapter extends ArrayAdapter<Plan> {
private Activity context;
private ArrayList<Plan> plan;
public PlanListAdapter(Activity context, ArrayList<Plan> plan) {
super(context, R.layout.planitem, plan);
this.context = context;
this.plan = plan;
}
static class ViewHolder {
public TextView przedmiot;
public TextView rodzaj;
public TextView dataplan;
public TextView godziny;
public TextView Budynek;
public TextView Sala;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder;
View rowView = convertView;
if (rowView == null) {
LayoutInflater layoutInflater = context.getLayoutInflater();
rowView = layoutInflater.inflate(R.layout.planitem, null);
viewHolder = new ViewHolder();
viewHolder.przedmiot = (TextView) rowView
.findViewById(R.id.przedmiot);
viewHolder.rodzaj = (TextView) rowView.findViewById(R.id.rodzaj);
viewHolder.dataplan = (TextView) rowView
.findViewById(R.id.dataplan);
viewHolder.godziny = (TextView) rowView.findViewById(R.id.godziny);
viewHolder.Budynek = (TextView) rowView.findViewById(R.id.budynek);
rowView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) rowView.getTag();
}
System.out.println("rowView " + rowView);
viewHolder.przedmiot.setText(plan.get(position).przedmiot);
viewHolder.rodzaj.setText(plan.get(position).forma);
System.out.println(plan.get(position).forma);
viewHolder.dataplan.setText(plan.get(position).data);
viewHolder.godziny.setText(plan.get(position).godz_od + " - "
+ plan.get(position).godz_do);
viewHolder.Budynek.setText(plan.get(position).budynek);
viewHolder.Sala.setText(plan.get(position).sala);
return rowView;
}
}
64 linijka to ostatnia linijka kodu czyli '}'
public void pobierzPlan(final String data) {
new Thread() {
@Override
public void run() {
// TODO Auto-generated method stub
super.run();
try {
handler.post(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
pD = ProgressDialog.show(PlanListActivity.this, "",
"Trwa ładowanie danych proszę czekać...",
true, true);
}
});
String query = "{\"get_plan_zajec\":{\"od\":\"" + data
+ " 00:00:00\",\"do\": \"" + data
+ " 23:59:59\",\"lang\": \"pl\"}";
String result = connect(query);
Log.i("plan", result);
plan = readPlanObject(inputstream(result));
} catch (Exception e) {
Log.e("Błąd plan", e.toString());
} finally {
handler.post(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
pD.dismiss();
handler.sendEmptyMessage(0);
TUTAJ -------------> initPlanListView();
}
});
}
}
}.start();
}
private void initPlanListView() {
PlanListAdapter adapter = new PlanListAdapter(this, plan);
lvPlan.setAdapter(adapter);
}
Metoda pobierzPlan jest wywoływana w onCreate()