Added ability to show the title of the feed in itemlistadapter

This commit is contained in:
daniel oeh 2012-07-05 10:12:41 +02:00
parent 764ef2b1d6
commit 5920c96ae7
5 changed files with 34 additions and 9 deletions

View File

@ -20,7 +20,6 @@
android:scaleType="fitXY" android:scaleType="fitXY"
android:src="@drawable/navigation_expand" /> android:src="@drawable/navigation_expand" />
<LinearLayout <LinearLayout
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="match_parent" android:layout_height="match_parent"
@ -34,6 +33,12 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="16dp" /> android:textSize="16dp" />
<TextView
android:id="@+id/txtvFeedname"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone" />
<TextView <TextView
android:id="@+id/txtvPublished" android:id="@+id/txtvPublished"
android:layout_width="fill_parent" android:layout_width="fill_parent"

View File

@ -22,11 +22,13 @@ import android.graphics.Typeface;
public class FeedItemlistAdapter extends ArrayAdapter<FeedItem> { public class FeedItemlistAdapter extends ArrayAdapter<FeedItem> {
private OnClickListener onButActionClicked; private OnClickListener onButActionClicked;
private boolean showFeedtitle;
public FeedItemlistAdapter(Context context, int textViewResourceId, public FeedItemlistAdapter(Context context, int textViewResourceId,
List<FeedItem> objects, OnClickListener onButActionClicked) { List<FeedItem> objects, OnClickListener onButActionClicked, boolean showFeedtitle) {
super(context, textViewResourceId, objects); super(context, textViewResourceId, objects);
this.onButActionClicked = onButActionClicked; this.onButActionClicked = onButActionClicked;
this.showFeedtitle = showFeedtitle;
} }
@Override @Override
@ -54,6 +56,9 @@ public class FeedItemlistAdapter extends ArrayAdapter<FeedItem> {
.findViewById(R.id.imgvDownloading); .findViewById(R.id.imgvDownloading);
holder.encInfo = (RelativeLayout) convertView holder.encInfo = (RelativeLayout) convertView
.findViewById(R.id.enc_info); .findViewById(R.id.enc_info);
if (showFeedtitle) {
holder.feedtitle = (TextView) convertView.findViewById(R.id.txtvFeedname);
}
convertView.setTag(holder); convertView.setTag(holder);
} else { } else {
@ -61,6 +66,10 @@ public class FeedItemlistAdapter extends ArrayAdapter<FeedItem> {
} }
holder.title.setText(item.getTitle()); holder.title.setText(item.getTitle());
if (showFeedtitle) {
holder.feedtitle.setVisibility(View.VISIBLE);
holder.feedtitle.setText(item.getFeed().getTitle());
}
if (!item.isRead()) { if (!item.isRead()) {
holder.title.setTypeface(Typeface.DEFAULT_BOLD); holder.title.setTypeface(Typeface.DEFAULT_BOLD);
} else { } else {
@ -111,6 +120,7 @@ public class FeedItemlistAdapter extends ArrayAdapter<FeedItem> {
static class Holder { static class Holder {
TextView title; TextView title;
TextView feedtitle;
TextView published; TextView published;
TextView lenSize; TextView lenSize;
ImageView downloaded; ImageView downloaded;

View File

@ -43,9 +43,13 @@ public class ItemlistFragment extends SherlockListFragment {
protected FeedItem selectedItem; protected FeedItem selectedItem;
protected ActionMode mActionMode; protected ActionMode mActionMode;
public ItemlistFragment(ArrayList<FeedItem> items) { /** Argument for FeeditemlistAdapter */
protected boolean showFeedtitle;
public ItemlistFragment(ArrayList<FeedItem> items, boolean showFeedtitle) {
super(); super();
this.items = items; this.items = items;
this.showFeedtitle = showFeedtitle;
manager = FeedManager.getInstance(); manager = FeedManager.getInstance();
requester = DownloadRequester.getInstance(); requester = DownloadRequester.getInstance();
} }
@ -53,8 +57,14 @@ public class ItemlistFragment extends SherlockListFragment {
public ItemlistFragment() { public ItemlistFragment() {
} }
/** Creates new ItemlistFragment which shows the Feeditems of a specific feed.
* Sets 'showFeedtitle' to false
* @param feedId The id of the feed to show
* @return the newly created instance of an ItemlistFragment
*/
public static ItemlistFragment newInstance(long feedId) { public static ItemlistFragment newInstance(long feedId) {
ItemlistFragment i = new ItemlistFragment(); ItemlistFragment i = new ItemlistFragment();
i.showFeedtitle = false;
Bundle b = new Bundle(); Bundle b = new Bundle();
b.putLong(ARGUMENT_FEED_ID, feedId); b.putLong(ARGUMENT_FEED_ID, feedId);
i.setArguments(b); i.setArguments(b);
@ -69,7 +79,7 @@ public class ItemlistFragment extends SherlockListFragment {
items = FeedManager.getInstance().getFeed(feedId).getItems(); items = FeedManager.getInstance().getFeed(feedId).getItems();
} }
fila = new FeedItemlistAdapter(getActivity(), 0, items, fila = new FeedItemlistAdapter(getActivity(), 0, items,
onButActionClicked); onButActionClicked, showFeedtitle);
setListAdapter(fila); setListAdapter(fila);
} }

View File

@ -5,7 +5,7 @@ import de.podfetcher.feed.FeedManager;
public class QueueFragment extends ItemlistFragment { public class QueueFragment extends ItemlistFragment {
public QueueFragment() { public QueueFragment() {
super(FeedManager.getInstance().getQueue()); super(FeedManager.getInstance().getQueue(), true);
} }
} }

View File

@ -6,7 +6,7 @@ import de.podfetcher.feed.FeedManager;
public class UnreadItemlistFragment extends ItemlistFragment { public class UnreadItemlistFragment extends ItemlistFragment {
public UnreadItemlistFragment() { public UnreadItemlistFragment() {
super(FeedManager.getInstance().getUnreadItems()); super(FeedManager.getInstance().getUnreadItems(), true);
} }