GridChoosePassageChapter.java :  » UnTagged » and-bible » net » bible » android » view » activity » navigation » Android Open Source

Android Open Source » UnTagged » and bible 
and bible » net » bible » android » view » activity » navigation » GridChoosePassageChapter.java
package net.bible.android.view.activity.navigation;

import java.util.ArrayList;
import java.util.List;

import net.bible.android.control.page.CurrentPageManager;
import net.bible.android.view.activity.base.ActivityBase;
import net.bible.android.view.util.buttongrid.ButtonGrid;
import net.bible.android.view.util.buttongrid.OnButtonGridActionListener;
import net.bible.android.view.util.buttongrid.ButtonGrid.ButtonInfo;

import org.crosswire.jsword.passage.NoSuchVerseException;
import org.crosswire.jsword.passage.Verse;
import org.crosswire.jsword.versification.BibleInfo;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;

/**
 * Choose a chapter to view
 * 
 * @author Martin Denham [mjdenham at gmail dot com]
 * @see gnu.lgpl.License for license details.<br>
 *      The copyright to this program is held by it's author.
 */
public class GridChoosePassageChapter extends ActivityBase implements OnButtonGridActionListener {
  
  private static final String TAG = "GridChoosePassageChapter";
  
  private int mBibleBookNo=1;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        mBibleBookNo = getIntent().getIntExtra("BOOK_NO", 1);
        
        // show chosen book in page title to confirm user choice
        try {
          setTitle(BibleInfo.getLongBookName(mBibleBookNo));
        } catch (NoSuchVerseException nsve) {
          Log.e(TAG, "Error in selected book no", nsve);
        }
        
        ButtonGrid grid = new ButtonGrid(this);
        grid.setOnButtonGridActionListener(this);
        
        grid.addButtons(getBibleChaptersButtonInfo(mBibleBookNo));
        setContentView(grid);
    }
    
    private List<ButtonInfo> getBibleChaptersButtonInfo(int bookNo) {
      int chapters = -1;
      try {
        chapters = BibleInfo.chaptersInBook(bookNo);
    } catch (NoSuchVerseException nsve) {
      chapters = -1;
    }
      
      List<ButtonInfo> keys = new ArrayList<ButtonInfo>();
      for (int i=1; i<=chapters; i++) {
        ButtonInfo buttonInfo = new ButtonInfo();
      // this is used for preview
      buttonInfo.id = i;
        buttonInfo.name = Integer.toString(i);
        keys.add(buttonInfo);
      }
      return keys;
    }
    
  @Override
  public void buttonPressed(ButtonInfo buttonInfo) {
    int chapter = buttonInfo.id;
    Log.d(TAG, "Chapter selected:"+chapter);
    try {
      CurrentPageManager.getInstance().getCurrentPage().setKey(new Verse(mBibleBookNo, chapter, 1));
      onSave(null);

    } catch (Exception e) {
      Log.e(TAG, "error on select of bible book", e);
    }
  }

    public void onSave(View v) {
      Log.i(TAG, "CLICKED");
      Intent resultIntent = new Intent(this, ChoosePassageBook.class);
      setResult(Activity.RESULT_OK, resultIntent);
      finish();    
    }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.