package dk.dr.radio.akt; import android.content.Intent; import android.graphics.Color; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentTransaction; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.BaseAdapter; import android.widget.ListView; import com.androidquery.AQuery; import java.util.ArrayList; import dk.dr.radio.data.DRData; import dk.dr.radio.data.DRJson; import dk.dr.radio.data.Programserie; import dk.dr.radio.diverse.App; import dk.dr.radio.diverse.Log; import dk.dr.radio.diverse.Sidevisning; import dk.dr.radio.v3.R; public class AlleUdsendelserAtilAA_frag extends Basisfragment implements AdapterView.OnItemClickListener, Runnable { private ArrayList<Programserie> liste = new ArrayList<Programserie>(); private ListView listView; protected View rod; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { rod = inflater.inflate(R.layout.senest_lyttede, container, false); AQuery aq = new AQuery(rod); listView = aq.id(R.id.listView).adapter(adapter).itemClicked(this).getListView(); listView.setEmptyView(aq.id(R.id.tom).typeface(App.skrift_gibson).getView()); listView.setFastScrollEnabled(true); /*.text( // "Ingen favoritter\nGå ind på en programserie og tryk på hjertet for at gøre det til en favorit" Html.fromHtml("<b>Saml dine favoritter her</b><br><br>Klik på hjertet på dine yndlingsprogrammer. Du får nem adgang til dine favoritter – og du kan hurtigt se, når der er kommet nye udsendelser.") ).getView() ); */ listView.setCacheColorHint(Color.WHITE); aq.id(R.id.overskrift).typeface(App.skrift_gibson_fed).text("Alle udsendelser").getTextView(); DRData.instans.programserierAtilÅ.observatører.add(this); run(); udvikling_checkDrSkrifter(rod, this + " rod"); return rod; } @Override public void onDestroyView() { DRData.instans.programserierAtilÅ.observatører.remove(this); super.onDestroyView(); } @Override public void run() { App.forgrundstråd.removeCallbacks(this); // Ingen gentagne kald liste.clear(); if (DRData.instans.programserierAtilÅ.liste == null) { DRData.instans.programserierAtilÅ.startHentData(); return; // run() kaldes igen når der er data } else { liste.addAll(DRData.instans.programserierAtilÅ.liste); } if (adapter != null) { adapter.notifyDataSetChanged(); } try { Log.d(this + " liste = " + liste); } catch (Exception e1) { Log.rapporterFejl(e1); } adapter.notifyDataSetChanged(); } private BaseAdapter adapter = new Basisadapter() { @Override public int getCount() { return liste.size(); } @Override public View getView(int position, View v, ViewGroup parent) { try { if (v == null) v = getLayoutInflater(null).inflate(R.layout.listeelem_2linjer, parent, false); AQuery aq = new AQuery(v); Programserie ps = liste.get(position); aq.id(R.id.linje1).text(ps.titel).typeface(App.skrift_gibson_fed).textColor(Color.BLACK); int n = ps.antalUdsendelser; String txt = n==0 ? "" : n==1 ? n + " udsendelse" : n + " udsendelser"; aq.id(R.id.linje2).text(txt).typeface(App.skrift_gibson); aq.id(R.id.stiplet_linje).visibility(position == 0 ? View.INVISIBLE : View.VISIBLE); v.setBackgroundResource(0); udvikling_checkDrSkrifter(v, this.getClass() + " "); } catch (Exception e) { Log.rapporterFejl(e); } return v; } }; @Override public void onItemClick(AdapterView<?> listView, View v, int position, long id) { Programserie programserie = liste.get(position); Fragment f = new Programserie_frag(); f.setArguments(new Intent() .putExtra(DRJson.SeriesSlug.name(), programserie.slug) .getExtras()); getActivity().getSupportFragmentManager().beginTransaction() .replace(R.id.indhold_frag, f) .addToBackStack(null) .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN) .commit(); Sidevisning.vist(Programserie_frag.class, programserie.slug); } }