Android Open Source - sloop Bookmark List Activity






From Project

Back to project page sloop.

License

The source code is released under:

NON-LICENSE The Sloop data-browser source code is hereby released into the Public Domain. The original author, David Megginson, Megginson Technologies Ltd., and Acclar Open Ltd. provide no warranty:...

If you think the Android project sloop listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.megginson.sloop.activities;
//from ww w. j a v a 2s .  c  om
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.NavUtils;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.Toast;

import com.megginson.sloop.R;
import com.megginson.sloop.model.Bookmark;
import com.megginson.sloop.ui.BookmarkListAdapter;

public class BookmarkListActivity extends Activity {

  public final static String PREFERENCE_GROUP_BOOKMARKS = "bookmarks";
  
  private ListView mBookmarksView;

  private List<Bookmark> mBookmarks = new ArrayList<Bookmark>();

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    
    setContentView(R.layout.activity_bookmark_list);
    
    // Show the Up button in the action bar.
    getActionBar().setDisplayHomeAsUpEnabled(true);

    setupListView();
    doLoadBookmarks();
  }

  @Override
  public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.activity_bookmark_list, menu);
    return true;
  }

  @Override
  public boolean onMenuItemSelected(int featureId, MenuItem item) {
    switch (item.getItemId()) {
    case R.id.menu_help:
      ActivitiesUtil.doHelp(this);
      return true;
    default:
      return super.onMenuItemSelected(featureId, item);
    }
  }

  @Override
  public boolean onOptionsItemSelected(MenuItem item) {
    // react to menu selections
    switch (item.getItemId()) {
    case android.R.id.home:
      doNavigateUp();
      return true;
    default:
      return super.onOptionsItemSelected(item);
    }
  }

  //
  // UI component configuration
  //

  /**
   * Set up the built-in list view.
   */
  private void setupListView() {
    mBookmarksView = (ListView)findViewById(R.id.bookmarks);
    mBookmarksView.setAdapter(new BookmarkListAdapter(this, mBookmarks));
    mBookmarksView.setOnItemClickListener(
        new AdapterView.OnItemClickListener() {
          @Override
          public void onItemClick(AdapterView<?> parent, View view,
              int position, long id) {
            Bookmark bookmark = mBookmarks.get(position);
            Intent intent = new Intent(BookmarkListActivity.this,
                MainActivity.class);
            intent.setAction(Intent.ACTION_MAIN);
            intent.putExtra(MainActivity.PARAM_URL, bookmark.getUrl());
            Toast.makeText(getApplicationContext(),
                bookmark.getTitle(), Toast.LENGTH_SHORT).show();
            startActivity(intent);
            finish();
          }
        });
  }

  //
  // Abstracted UI actions
  //

  /**
   * Action: return to home screen.
   */
  private void doNavigateUp() {
    NavUtils.navigateUpFromSameTask(this);
  }

  /**
   * Action: load bookmarks from shared preferences.
   */
  private void doLoadBookmarks() {
    Map<String, ?> preferences = getSharedPreferences(
        PREFERENCE_GROUP_BOOKMARKS, MODE_PRIVATE).getAll();
    for (String url : preferences.keySet()) {
      mBookmarks.add(new Bookmark(url, (String) preferences.get(url)));
    }
    mBookmarksView.refreshDrawableState();
  }

}




Java Source Code List

com.megginson.sloop.activities.ActivitiesUtil.java
com.megginson.sloop.activities.AddressActionProvider.java
com.megginson.sloop.activities.BookmarkEditActivity.java
com.megginson.sloop.activities.BookmarkListActivity.java
com.megginson.sloop.activities.InfoBarFragment.java
com.megginson.sloop.activities.MainActivity.java
com.megginson.sloop.activities.MainDisplayFragment.java
com.megginson.sloop.activities.TextFilterFragment.java
com.megginson.sloop.activities.package-info.java
com.megginson.sloop.model.Bookmark.java
com.megginson.sloop.model.DataCollection.java
com.megginson.sloop.model.DataEntry.java
com.megginson.sloop.model.DataRecord.java
com.megginson.sloop.model.Util.java
com.megginson.sloop.model.ValueFilter.java
com.megginson.sloop.model.impl.ContainsStringFilter.java
com.megginson.sloop.model.impl.DataCollectionIO.java
com.megginson.sloop.model.impl.DataCollectionImpl.java
com.megginson.sloop.model.impl.DataEntryImpl.java
com.megginson.sloop.model.impl.DataRecordImpl.java
com.megginson.sloop.model.impl.EqualsStringFilter.java
com.megginson.sloop.model.impl.package-info.java
com.megginson.sloop.model.package-info.java
com.megginson.sloop.ui.BookmarkListAdapter.java
com.megginson.sloop.ui.DataCollectionLoader.java
com.megginson.sloop.ui.DataCollectionPagerAdapter.java
com.megginson.sloop.ui.DataCollectionResult.java
com.megginson.sloop.ui.DataRecordFragment.java
com.megginson.sloop.ui.DataRecordListAdapter.java
com.megginson.sloop.ui.package-info.java