diff options
author | daniel oeh <daniel.oeh@gmail.com> | 2012-07-23 18:12:09 +0200 |
---|---|---|
committer | daniel oeh <daniel.oeh@gmail.com> | 2012-07-23 18:12:09 +0200 |
commit | 5f7d5d5e0425ac3651ddee28ef798cf2dd8e7b14 (patch) | |
tree | b4e19ee383dab00b6e8ced4aecd25974f3c6f57c /src/de/danoeh | |
parent | dfd3dc8bf8454dcb935eaeb224da9d275e406db9 (diff) | |
download | AntennaPod-5f7d5d5e0425ac3651ddee28ef798cf2dd8e7b14.zip |
Added menu items for selecting and deselecting all items
Diffstat (limited to 'src/de/danoeh')
-rw-r--r-- | src/de/danoeh/antennapod/activity/OpmlFeedChooserActivity.java | 51 |
1 files changed, 42 insertions, 9 deletions
diff --git a/src/de/danoeh/antennapod/activity/OpmlFeedChooserActivity.java b/src/de/danoeh/antennapod/activity/OpmlFeedChooserActivity.java index 44a9cc878..d9db27ee7 100644 --- a/src/de/danoeh/antennapod/activity/OpmlFeedChooserActivity.java +++ b/src/de/danoeh/antennapod/activity/OpmlFeedChooserActivity.java @@ -14,13 +14,15 @@ import android.widget.Button; import android.widget.ListView; import com.actionbarsherlock.app.SherlockActivity; +import com.actionbarsherlock.view.Menu; +import com.actionbarsherlock.view.MenuItem; import de.danoeh.antennapod.R; import de.danoeh.antennapod.opml.OpmlElement; public class OpmlFeedChooserActivity extends SherlockActivity { private static final String TAG = "OpmlFeedChooserActivity"; - + public static final String EXTRA_SELECTED_ITEMS = "de.danoeh.antennapod.selectedItems"; private Button butConfirm; @@ -43,22 +45,22 @@ public class OpmlFeedChooserActivity extends SherlockActivity { getTitleList()); feedlist.setAdapter(listAdapter); - + butCancel.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { setResult(RESULT_CANCELED); finish(); - } + } }); - + butConfirm.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(); SparseBooleanArray checked = feedlist.getCheckedItemPositions(); - + int checkedCount = 0; // Get number of checked items for (int i = 0; i < checked.size(); i++) { @@ -67,7 +69,7 @@ public class OpmlFeedChooserActivity extends SherlockActivity { } } int[] selection = new int[checkedCount]; - for (int i = 0, collected = 0; collected < checkedCount; i++) { + for (int i = 0, collected = 0; collected < checkedCount; i++) { if (checked.valueAt(i)) { selection[collected] = checked.keyAt(i); collected++; @@ -76,7 +78,8 @@ public class OpmlFeedChooserActivity extends SherlockActivity { intent.putExtra(EXTRA_SELECTED_ITEMS, selection); setResult(RESULT_OK, intent); finish(); - }}); + } + }); } @@ -90,6 +93,36 @@ public class OpmlFeedChooserActivity extends SherlockActivity { } return result; } - - + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + menu.add(Menu.NONE, R.id.select_all_item, Menu.NONE, + R.string.select_all_label).setShowAsAction( + MenuItem.SHOW_AS_ACTION_IF_ROOM); + menu.add(Menu.NONE, R.id.deselect_all_item, Menu.NONE, + R.string.deselect_all_label).setShowAsAction( + MenuItem.SHOW_AS_ACTION_IF_ROOM); + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()) { + case R.id.select_all_item: + selectAllItems(true); + return true; + case R.id.deselect_all_item: + selectAllItems(false); + return true; + default: + return false; + } + } + + private void selectAllItems(boolean b) { + for (int i = 0; i < feedlist.getCount(); i++) { + feedlist.setItemChecked(i, b); + } + } + } |