diff options
author | Andrew Dolgov <[email protected]> | 2011-11-24 14:51:23 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2011-11-24 14:51:23 +0300 |
commit | 1fe01350a51152f0f596f3e2c6eaadb36f940b57 (patch) | |
tree | fb83ac51cf7fd11ec35e2d0fd518516c97f844e5 /src | |
parent | e9c02c8eca9079c57af6a9c941b50ab11259e3cd (diff) |
more interface stuff, allow marking headlines as checked
Diffstat (limited to 'src')
-rw-r--r-- | src/org/fox/ttrss/Article.java | 1 | ||||
-rw-r--r-- | src/org/fox/ttrss/HeadlinesFragment.java | 43 | ||||
-rw-r--r-- | src/org/fox/ttrss/MainActivity.java | 13 |
3 files changed, 45 insertions, 12 deletions
diff --git a/src/org/fox/ttrss/Article.java b/src/org/fox/ttrss/Article.java index 0e156af8..c4989d7a 100644 --- a/src/org/fox/ttrss/Article.java +++ b/src/org/fox/ttrss/Article.java @@ -14,4 +14,5 @@ public class Article { int feed_id;
List<String> tags;
String content;
+ boolean _selected;
}
diff --git a/src/org/fox/ttrss/HeadlinesFragment.java b/src/org/fox/ttrss/HeadlinesFragment.java index 00e1448e..953bed54 100644 --- a/src/org/fox/ttrss/HeadlinesFragment.java +++ b/src/org/fox/ttrss/HeadlinesFragment.java @@ -16,12 +16,16 @@ import android.content.Context; import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
+import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
+import android.widget.CheckBox;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.ListView;
import android.widget.TextView;
@@ -210,7 +214,20 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener { public static final int VIEW_SELECTED = 2;
public static final int VIEW_COUNT = VIEW_SELECTED+1;
+
+ private ArrayList<Article> m_selectedArticles = new ArrayList<Article>();
+
+ /* private class ArticleCheckListener implements OnCheckedChangeListener {
+
+ @Override
+ public void onCheckedChanged(CompoundButton buttonView,
+ boolean isChecked) {
+
+ Log.d(TAG, "onCheckedChanged: " + buttonView + "/" + getContext());
+ }
+ } */
+
public ArticleListAdapter(Context context, int textViewResourceId, ArrayList<Article> items) {
super(context, textViewResourceId, items);
this.items = items;
@@ -238,8 +255,8 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener { View v = convertView;
- Article article = items.get(position);
-
+ final Article article = items.get(position);
+
if (v == null) {
int layoutId = R.layout.headlines_row;
@@ -281,6 +298,28 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener { dv.setText(df.format(d));
}
+ CheckBox cb = (CheckBox) v.findViewById(R.id.selected);
+
+ if (cb != null) {
+ cb.setChecked(m_selectedArticles.contains(article));
+
+ cb.setOnCheckedChangeListener(new OnCheckedChangeListener() {
+ @Override
+ public void onCheckedChanged(CompoundButton buttonView,
+ boolean isChecked) {
+
+ if (isChecked) {
+ m_selectedArticles.add(article);
+ } else {
+ m_selectedArticles.remove(article);
+ }
+
+ Log.d(TAG, "num selected: " + m_selectedArticles.size());
+
+ }
+ });
+ }
+
return v;
}
}
diff --git a/src/org/fox/ttrss/MainActivity.java b/src/org/fox/ttrss/MainActivity.java index 35309338..44625ad4 100644 --- a/src/org/fox/ttrss/MainActivity.java +++ b/src/org/fox/ttrss/MainActivity.java @@ -103,12 +103,9 @@ public class MainActivity extends Activity implements FeedsFragment.OnFeedSelect ft.replace(R.id.feeds_fragment, new FeedsFragment()); ft.replace(R.id.headlines_fragment, hf); ft.replace(R.id.article_fragment, af); - //ft.hide(hf); - //ft.hide(af); ft.commit(); findViewById(R.id.article_fragment).setVisibility(View.GONE); - //findViewById(R.id.headlines_fragment).setVisibility(View.GONE); LoginRequest ar = new LoginRequest(); ar.setApi(m_prefs.getString("ttrss_url", null)); @@ -232,9 +229,6 @@ public class MainActivity extends Activity implements FeedsFragment.OnFeedSelect setLoadingStatus(R.string.loading_message, true); - //FragmentManager fm = getFragmentManager(); - //FeedsFragment ff = (FeedsFragment) fm.findFragmentById(R.id.feeds_fragment); - ViewFlipper vf = (ViewFlipper) findViewById(R.id.main_flipper); if (vf != null) { @@ -245,6 +239,7 @@ public class MainActivity extends Activity implements FeedsFragment.OnFeedSelect FragmentTransaction ft = getFragmentManager().beginTransaction(); ft.replace(R.id.feeds_fragment, frag); + ft.show(frag); ft.commit(); if (m_refreshTask != null) { @@ -293,7 +288,6 @@ public class MainActivity extends Activity implements FeedsFragment.OnFeedSelect m_activeFeed = feed; HeadlinesFragment hf = new HeadlinesFragment(); - //hf.initialize(m_sessionId, feed.id, m_prefs); FragmentTransaction ft = getFragmentManager().beginTransaction(); ft.setCustomAnimations(android.R.animator.fade_in, android.R.animator.fade_out); @@ -301,8 +295,6 @@ public class MainActivity extends Activity implements FeedsFragment.OnFeedSelect ft.replace(R.id.headlines_fragment, hf); ft.addToBackStack(null); ft.commit(); - - findViewById(R.id.headlines_fragment).setVisibility(View.VISIBLE); } public Article getSelectedArticle() { @@ -319,13 +311,14 @@ public class MainActivity extends Activity implements FeedsFragment.OnFeedSelect FragmentTransaction ft = getFragmentManager().beginTransaction(); ft.setCustomAnimations(android.R.animator.fade_in, android.R.animator.fade_out); + //ft.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right); ft.show(getFragmentManager().findFragmentById(R.id.article_fragment)); - //ft.hide(getFragmentManager().findFragmentById(R.id.feeds_fragment)); ft.replace(R.id.article_fragment, frag); ft.addToBackStack(null); ft.commit(); findViewById(R.id.article_fragment).setVisibility(View.VISIBLE); + } public Feed getActiveFeed() { |