diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 96c1c9b..de239e8 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -18,6 +18,7 @@
+
diff --git a/res/layout/news_view.xml b/res/layout/news_view.xml
new file mode 100644
index 0000000..dfaa979
--- /dev/null
+++ b/res/layout/news_view.xml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/com/studentersamfundet/app/News.java b/src/com/studentersamfundet/app/News.java
index ee32772..a78aef6 100644
--- a/src/com/studentersamfundet/app/News.java
+++ b/src/com/studentersamfundet/app/News.java
@@ -8,11 +8,11 @@ import java.util.Date;
public class News implements Serializable {
private static final long serialVersionUID = 4015441794784305793L;
- public String title;
- public String description;
- public String content;
- public String link;
- public Date pubDate;
+ private String title;
+ private String description;
+ private String content;
+ private String link;
+ private Date pubDate;
private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -28,4 +28,24 @@ public class News implements Serializable {
this.pubDate = null;
}
}
+
+ public String getTitle() {
+ return this.title;
+ }
+
+ public String getDescription() {
+ return this.description;
+ }
+
+ public String getContent() {
+ return this.content;
+ }
+
+ public String getLink() {
+ return this.link;
+ }
+
+ public Date getPubDate() {
+ return this.pubDate;
+ }
}
diff --git a/src/com/studentersamfundet/app/ui/NewsViewActivity.java b/src/com/studentersamfundet/app/ui/NewsViewActivity.java
new file mode 100644
index 0000000..9e5a474
--- /dev/null
+++ b/src/com/studentersamfundet/app/ui/NewsViewActivity.java
@@ -0,0 +1,53 @@
+package com.studentersamfundet.app.ui;
+
+import java.text.SimpleDateFormat;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.text.Html;
+import android.text.util.Linkify;
+import android.widget.TextView;
+import com.studentersamfundet.app.News;
+import com.studentersamfundet.app.R;
+
+public class NewsViewActivity extends BaseDnsActivity {
+ News article;
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.news_view);
+
+ Intent intent = getIntent();
+ this.article = (News)intent.getSerializableExtra("news");
+ final News a = this.article;
+
+ if (a == null) {
+ throw new Error("This should NEVER happen");
+ }
+
+ TextView title = (TextView) findViewById(R.id.news_view_title);
+ TextView description = (TextView) findViewById(R.id.news_view_description);
+ TextView datetime = (TextView) findViewById(R.id.news_view_datetime);
+
+ title.setText(Html.fromHtml(a.getTitle()));
+
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+ datetime.setText(a.getPubDate() != null ? dateFormat.format(a.getPubDate()) : "");
+
+ StringBuilder sb = new StringBuilder();
+
+ if (a.getDescription().length() > 0) {
+ sb.append("");
+ sb.append(a.getDescription());
+ sb.append("
");
+ }
+
+ if (a.getContent().length() > 0) {
+ sb.append(a.getContent());
+ }
+
+ description.setText(Html.fromHtml(sb.toString()));
+ Linkify.addLinks(description, Linkify.ALL);
+ }
+}
diff --git a/src/com/studentersamfundet/app/ui/lists/NewsListActivity.java b/src/com/studentersamfundet/app/ui/lists/NewsListActivity.java
index 65e316c..79bfbd1 100644
--- a/src/com/studentersamfundet/app/ui/lists/NewsListActivity.java
+++ b/src/com/studentersamfundet/app/ui/lists/NewsListActivity.java
@@ -4,10 +4,13 @@ import java.text.SimpleDateFormat;
import com.studentersamfundet.app.News;
import com.studentersamfundet.app.R;
+import com.studentersamfundet.app.ui.NewsViewActivity;
+import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
+import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListAdapter;
@@ -45,17 +48,26 @@ public class NewsListActivity extends BaseListActivity {
row = (ViewGroup)convertView;
}
- News article = news[position];
+ final News article = news[position];
TextView title = (TextView)row.findViewById(R.id.news_list_row_title);
TextView description = (TextView)row.findViewById(R.id.news_list_row_desc);
TextView footer = (TextView)row.findViewById(R.id.news_list_row_byline);
- title.setText(article.title);
- description.setText(article.description);
+ title.setText(article.getTitle());
+ description.setText(article.getDescription());
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm, d. MMMM y");
- footer.setText(sdf.format(article.pubDate));
+ footer.setText(sdf.format(article.getPubDate()));
+
+ row.setOnClickListener(new OnClickListener() {
+ public void onClick(View v) {
+ Intent intent = new Intent(NewsListActivity.this, NewsViewActivity.class);
+ intent.putExtra("news", article);
+
+ startActivity(intent);
+ }
+ });
return row;
}