aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHalzyn2015-06-02 15:39:46 +0200
committerHalzyn2015-06-02 15:39:46 +0200
commitd1a43fb394f57defa6b2595e31b7fee1c9d49407 (patch)
treeb9b979d749c7f35ffbd4fc24d23420c8381b3ee5
parentNeural network training picks random training cases instead of doing an itera... (diff)
OnClick implemented for feed items
-rwxr-xr-xapp/src/main/AndroidManifest.xml7
-rw-r--r--app/src/main/java/org/rssin/android/ArticleActivity.java59
-rwxr-xr-xapp/src/main/java/org/rssin/android/FeedItemAdapter.java15
-rwxr-xr-xapp/src/main/java/org/rssin/rss/FeedItem.java3
-rw-r--r--app/src/main/res/layout/activity_article.xml50
-rw-r--r--app/src/main/res/menu/menu_article.xml7
-rw-r--r--app/src/main/res/values/strings.xml1
7 files changed, 139 insertions, 3 deletions
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 6726a0f..58a53b3 100755
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -12,8 +12,9 @@
<activity
android:name="org.rssin.android.UnifiedInboxActivity"
android:label="@string/title_activity_unifiedinbox" >
- <intent-filter android:label="@string/app_name">
+ <intent-filter android:label="@string/app_name" >
<action android:name="android.intent.action.MAIN" />
+
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
@@ -52,6 +53,10 @@
android:name="android.support.PARENT_ACTIVITY"
android:value="org.rssin.android.UnifiedInboxActivity" />
</activity>
+ <activity
+ android:name="org.rssin.android.ArticleActivity"
+ android:label="@string/title_activity_article" >
+ </activity>
</application>
</manifest>
diff --git a/app/src/main/java/org/rssin/android/ArticleActivity.java b/app/src/main/java/org/rssin/android/ArticleActivity.java
new file mode 100644
index 0000000..0cc9055
--- /dev/null
+++ b/app/src/main/java/org/rssin/android/ArticleActivity.java
@@ -0,0 +1,59 @@
+package org.rssin.android;
+
+import android.content.Intent;
+import android.support.v7.app.ActionBarActivity;
+import android.os.Bundle;
+import android.text.Html;
+import android.view.LayoutInflater;
+import android.view.Menu;
+import android.view.MenuItem;
+import android.view.View;
+import android.widget.ScrollView;
+import android.widget.TextView;
+
+import org.rssin.rss.FeedItem;
+import org.rssin.rssin.R;
+
+public class ArticleActivity extends ActionBarActivity {
+
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_article);
+ Intent intent = getIntent();
+ Bundle arguments = intent.getExtras();
+ FeedItem item = (FeedItem) arguments.getSerializable("Feed item");
+
+ TextView title = (TextView) findViewById(R.id.article_title);
+ title.setText(item.getTitle());
+ TextView description = (TextView) findViewById(R.id.article_description);
+ description.setText(Html.fromHtml(item.getDescription()));
+ TextView author = (TextView) findViewById(R.id.article_author);
+ author.setText("Written by: " + item.getAuthor());
+ TextView date = (TextView) findViewById(R.id.article_date);
+ date.setText("Published on: " + item.getPubDate().toString());
+ }
+
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ // Inflate the menu; this adds items to the action bar if it is present.
+ getMenuInflater().inflate(R.menu.menu_article, menu);
+ return true;
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ // Handle action bar item clicks here. The action bar will
+ // automatically handle clicks on the Home/Up button, so long
+ // as you specify a parent activity in AndroidManifest.xml.
+ int id = item.getItemId();
+
+ //noinspection SimplifiableIfStatement
+ if (id == R.id.action_settings) {
+ return true;
+ }
+
+ return super.onOptionsItemSelected(item);
+ }
+}
diff --git a/app/src/main/java/org/rssin/android/FeedItemAdapter.java b/app/src/main/java/org/rssin/android/FeedItemAdapter.java
index a16f4b5..7522bfa 100755
--- a/app/src/main/java/org/rssin/android/FeedItemAdapter.java
+++ b/app/src/main/java/org/rssin/android/FeedItemAdapter.java
@@ -4,6 +4,7 @@ package org.rssin.android;
* @author Jos.
*/
+import android.content.Intent;
import android.support.v7.widget.RecyclerView;
import android.text.Html;
import android.view.LayoutInflater;
@@ -36,6 +37,8 @@ class FeedItemAdapter extends RecyclerView.Adapter<FeedItemAdapter.FeedItemHolde
FeedItem item = feedItems.get(position);
holder.title.setText(item.getTitle());
holder.summary.setText(Html.fromHtml(item.getDescription()));
+ holder.item = item;
+
}
@Override
@@ -43,17 +46,27 @@ class FeedItemAdapter extends RecyclerView.Adapter<FeedItemAdapter.FeedItemHolde
return feedItems.size();
}
+
/**
* TextViews holder
*/
static class FeedItemHolder extends RecyclerView.ViewHolder {
TextView title;
TextView summary;
+ FeedItem item;
- public FeedItemHolder(View itemView) {
+ public FeedItemHolder(final View itemView) {
super(itemView);
title = (TextView) itemView.findViewById(R.id.feeditem_title);
summary = (TextView) itemView.findViewById(R.id.feeditem_summary);
+ itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent intent = new Intent(itemView.getContext(), ArticleActivity.class);
+ intent.putExtra("Feed item", item);
+ itemView.getContext().startActivity(intent);
+ }
+ });
}
}
} \ No newline at end of file
diff --git a/app/src/main/java/org/rssin/rss/FeedItem.java b/app/src/main/java/org/rssin/rss/FeedItem.java
index f7805d8..5565488 100755
--- a/app/src/main/java/org/rssin/rss/FeedItem.java
+++ b/app/src/main/java/org/rssin/rss/FeedItem.java
@@ -1,5 +1,6 @@
package org.rssin.rss;
+import java.io.Serializable;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;
@@ -7,7 +8,7 @@ import java.util.List;
/**
* Created by Randy on 19-5-2015.
*/
-public class FeedItem {
+public class FeedItem implements Serializable {
private String guid;
private Date pubDate;
diff --git a/app/src/main/res/layout/activity_article.xml b/app/src/main/res/layout/activity_article.xml
new file mode 100644
index 0000000..b08fe38
--- /dev/null
+++ b/app/src/main/res/layout/activity_article.xml
@@ -0,0 +1,50 @@
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:paddingBottom="@dimen/activity_vertical_margin"
+ android:paddingLeft="@dimen/activity_horizontal_margin"
+ android:paddingRight="@dimen/activity_horizontal_margin"
+ android:paddingTop="@dimen/activity_vertical_margin"
+ tools:context="org.rssin.android.ArticleActivity">
+
+ <ScrollView
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
+
+ <TextView
+ android:id="@+id/article_title"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:textSize="@dimen/font_size_huge"
+ android:textAlignment="center"/>
+
+ <TextView
+ android:id="@+id/article_author"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:textSize="@dimen/font_size_small"
+ android:textStyle="italic"/>
+
+ <TextView
+ android:id="@+id/article_description"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:textSize="@dimen/font_size_normal" />
+
+ <TextView
+ android:id="@+id/article_date"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:textSize="@dimen/font_size_small"
+ android:textStyle="italic"/>
+ </LinearLayout>
+ </ScrollView>
+
+
+</RelativeLayout>
diff --git a/app/src/main/res/menu/menu_article.xml b/app/src/main/res/menu/menu_article.xml
new file mode 100644
index 0000000..3692b70
--- /dev/null
+++ b/app/src/main/res/menu/menu_article.xml
@@ -0,0 +1,7 @@
+<menu xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ tools:context="org.rssin.android.ArticleActivity">
+ <item android:id="@+id/action_settings" android:title="@string/action_settings"
+ android:orderInCategory="100" app:showAsAction="never" />
+</menu>
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 665b36c..4e40abf 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -42,4 +42,5 @@
<string name="title_activity_feeds">Feeds</string>
<string name="hello_world">Hello world!</string>
+ <string name="title_activity_article">ArticleActivity</string>
</resources>