package de.itemis.base; import java.io.Serializable; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.view.View; import android.widget.ImageView; import android.widget.TextView; import de.itemis.itemisapp.R; public class DetailsActivity<T> extends GenericListActivity<T> { private View detailsView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); detailsView = getLayoutInflater().inflate(R.layout.details_header, null); detailsView.findViewById(R.id.photo).setVisibility(View.GONE); getListView().addHeaderView(detailsView); finishCreation(); } @SuppressWarnings("unchecked") protected T getItemFromProvider() { Serializable serializable = getIntent().getSerializableExtra("provider"); Serializable serializableExtra = serializable; ItemContentProvider<T> provider = (ItemContentProvider<T>) serializableExtra; return provider.getItem(); } protected void setHeaderTitle(String title) { TextView view = (TextView) detailsView.findViewById(R.id.headlineText); view.setText(title); } protected void setHeaderDetails(String details) { TextView view = (TextView) detailsView.findViewById(R.id.bodyText); view.setText(details); } protected void setHeaderImageURL(String url) { ImageView view = (ImageView) detailsView.findViewById(R.id.photo); view.setVisibility(View.VISIBLE); Drawable drawable = Cache.getDrawable(this, url, "@drawable/loading_photo"); view.setImageDrawable(drawable); } }