alpha 0.0.2
[DHBWCampusApp.git] / app / src / main / java / de / dhbwloe / campusapp / fragments / NewsListAdapter.java
1 package de.dhbwloe.campusapp.fragments;
2
3 import android.content.Context;
4 import android.view.LayoutInflater;
5 import android.view.View;
6 import android.view.ViewGroup;
7 import android.widget.ArrayAdapter;
8 import android.widget.ImageView;
9 import android.widget.TextView;
10
11 import java.util.ArrayList;
12
13 import de.dhbwloe.campusapp.R;
14
15 /**
16  * Created by pk910 on 27.02.2016.
17  */
18 public class NewsListAdapter  extends ArrayAdapter<NewsListItem> {
19     private Context context;
20     private int layoutResourceId;
21     private ArrayList<NewsListItem> data = new ArrayList<NewsListItem>();
22
23     public NewsListAdapter(Context context, int layoutResourceId, ArrayList<NewsListItem> data) {
24         super(context, layoutResourceId, data);
25         this.layoutResourceId = layoutResourceId;
26         this.context = context;
27         this.data = data;
28     }
29
30     @Override
31     public View getView(int position, View convertView, ViewGroup parent) {
32         View row = convertView;
33         RecordHolder holder = null;
34
35         if (row == null) {
36             LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
37             row = inflater.inflate(layoutResourceId, parent, false);
38
39             holder = new RecordHolder(row);
40             row.setTag(holder);
41         } else {
42             holder = (RecordHolder) row.getTag();
43         }
44
45         final NewsListAdapter that = this;
46         final NewsListItem item = data.get(position);
47
48         holder.newsTitle.setText(item.getFormatedDate() + ": " + item.getTitle());
49         holder.newsDescription.setText(item.getDescription());
50         if(item.isDhbwNews()) {
51             holder.newsDhbwLogo.setVisibility(View.VISIBLE);
52             holder.newsStuvLogo.setVisibility(View.GONE);
53         } else {
54             holder.newsDhbwLogo.setVisibility(View.GONE);
55             holder.newsStuvLogo.setVisibility(View.VISIBLE);
56         }
57
58         return row;
59     }
60
61     static class RecordHolder {
62         TextView newsTitle;
63         TextView newsDescription;
64         ImageView newsDhbwLogo;
65         ImageView newsStuvLogo;
66
67         public RecordHolder(View view) {
68             this.newsTitle = (TextView) view.findViewById(R.id.newsTitleView);
69             this.newsDescription = (TextView) view.findViewById(R.id.newsDescriptionView);
70
71             newsDhbwLogo = (ImageView) view.findViewById(R.id.dhbwLogo);
72             newsStuvLogo = (ImageView) view.findViewById(R.id.stuvLogo);
73         }
74     }
75 }