diff options
author | Halzyn | 2015-06-02 15:39:46 +0200 |
---|---|---|
committer | Halzyn | 2015-06-02 15:39:46 +0200 |
commit | d1a43fb394f57defa6b2595e31b7fee1c9d49407 (patch) | |
tree | b9b979d749c7f35ffbd4fc24d23420c8381b3ee5 | |
parent | Neural network training picks random training cases instead of doing an itera... (diff) |
OnClick implemented for feed items
-rwxr-xr-x | app/src/main/AndroidManifest.xml | 7 | ||||
-rw-r--r-- | app/src/main/java/org/rssin/android/ArticleActivity.java | 59 | ||||
-rwxr-xr-x | app/src/main/java/org/rssin/android/FeedItemAdapter.java | 15 | ||||
-rwxr-xr-x | app/src/main/java/org/rssin/rss/FeedItem.java | 3 | ||||
-rw-r--r-- | app/src/main/res/layout/activity_article.xml | 50 | ||||
-rw-r--r-- | app/src/main/res/menu/menu_article.xml | 7 | ||||
-rw-r--r-- | app/src/main/res/values/strings.xml | 1 |
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> |