protected String formatOsisItem(OsisItem item) { String book = bible.get(Bible.TYPE.HUMAN, bible.getPosition(Bible.TYPE.OSIS, item.book)); return book + " " + item.chapter + (item.verse.equals("") ? "" : ":" + item.verse) + (item.end.equals("") ? "" : "-" + item.end); }
public void setItemText(int index) { if (items != null && index >= 0 && index < items.size()) { OsisItem item = items.get(index); String book = bible.get(Bible.TYPE.BOOK, bible.getPosition(Bible.TYPE.OSIS, item.book)) + item.chapter; if (!item.verse.equals("") && !item.end.equals("")) { book += ":" + item.verse + "-" + item.end; } else if (!item.verse.equals("") || !item.end.equals("")) { book += ":" + item.verse + item.end; } ((TextView) findViewById(R.id.items)).setText(book); } }
private void setBookChapter() { book = osis.split("\\.")[0]; if (osis.split("\\.").length > 1) { chapter = osis.split("\\.")[1]; } else { chapter = "0"; } Log.d(TAG, "set book chapter, osis: " + osis); setItemText(this.index); ((TextView) findViewById(R.id.version)).setText(bible.getVersionName(bible.getVersion())); ((TextView) findViewById(R.id.book)) .setText(bible.get(Bible.TYPE.BOOK, bible.getPosition(Bible.TYPE.OSIS, book))); if (!"".equals(verse) && !"".equals(end)) { ((TextView) findViewById(R.id.chapter)).setText(chapter + ":" + verse + "-" + end); } else if (!"".equals(verse) || !"".equals(end)) { ((TextView) findViewById(R.id.chapter)).setText(chapter + ":" + verse + end); } else { ((TextView) findViewById(R.id.chapter)).setText(chapter); } }
@Override public void onItemClick(AdapterView<?> parent, View view, int pos, long id) { gridview.setVisibility(View.GONE); switch (gridviewid) { case R.id.book: int matt = getMatt(); String newbook; if (matt > 0) { if (pos % 2 == 0) { newbook = bible.get(Bible.TYPE.OSIS, pos / 2); } else { newbook = bible.get(Bible.TYPE.OSIS, matt + pos / 2); } } else { newbook = bible.get(Bible.TYPE.OSIS, pos); } if (!newbook.equals("") && !newbook.equals(book)) { storeOsisVersion(); chapter = PreferenceManager.getDefaultSharedPreferences(this).getString(newbook, "1"); openOsis(newbook + "." + chapter); } break; case R.id.chapter: openOsis(String.format("%s.%d", book, pos + 1)); break; case R.id.version: storeOsisVersion(); if (pos >= bible.getCount(Bible.TYPE.VERSION)) { String link_market = "<a href=\"market://search?q=" + getString(R.string.bibledatalink) + "&c=apps\">market://search?q=" + getString(R.string.bibledatahuman) + "&c=apps</a>"; String body = "<div id=\"pb-demo\">" + getString( R.string.moreversion, new Object[] { link_market, link_github, "<a href=\"mailto:[email protected]\">Liu DongMiao</a>" }) + "</div>\n"; showContent("", body); return; } version = bible.get(Bible.TYPE.VERSION, pos); Log.d(TAG, "version: " + version); bible.setVersion(version); fontsize = PreferenceManager.getDefaultSharedPreferences(this) .getInt("fontsize-" + version, fontsize); uri = Provider.CONTENT_URI_CHAPTER .buildUpon() .appendEncodedPath(osis) .fragment(version) .build(); showUri(); break; case R.id.items: if (items != null && pos < items.size()) { showItem(pos); } else { showView(R.id.book, true); showView(R.id.chapter, true); showView(R.id.items, false); items.clear(); findViewById(R.id.book).performClick(); } break; } }
private void showSpinner(View v) { adapter.clear(); gridviewid = v.getId(); switch (v.getId()) { case R.id.book: int matt = getMatt(); gridview.setNumColumns(2); Log.d(TAG, "book=" + book); selected = bible.get(Bible.TYPE.HUMAN, bible.getPosition(Bible.TYPE.OSIS, book)); if (matt > 0) { for (int id = 0; id < matt; id++) { int right = matt + id; adapter.add(bible.get(Bible.TYPE.HUMAN, id)); if (right < bible.getCount(Bible.TYPE.OSIS)) { adapter.add(bible.get(Bible.TYPE.HUMAN, right)); } else { adapter.add(""); } } } else { for (String string : bible.get(Bible.TYPE.HUMAN)) { adapter.add(string); } } break; case R.id.chapter: gridview.setNumColumns(5); selected = chapter; String chapters = bible.get(Bible.TYPE.CHAPTER, bible.getPosition(Bible.TYPE.OSIS, book)); int maxchapter = 1; try { maxchapter = Integer.parseInt(chapters); } catch (Exception e) { } for (int i = 1; i <= maxchapter; i++) { adapter.add(String.valueOf(i)); } break; case R.id.version: gridview.setNumColumns(1); Log.d(TAG, "version=" + version); selected = bible.getVersionFullname(version); for (String string : bible.get(Bible.TYPE.VERSION)) { Log.d(TAG, "add version " + string); adapter.add(bible.getVersionFullname(string)); } adapter.add(getString(R.string.more)); break; case R.id.items: gridview.setNumColumns(1); Log.d(TAG, "version=" + version); for (OsisItem item : items) { adapter.add(formatOsisItem(item)); } adapter.add(getString(R.string.otherbook)); selected = formatOsisItem(items.get(index)); break; } if (adapter.getCount() > 0) { gridview.setVisibility(View.VISIBLE); gridview.setSelection(adapter.getPosition(selected)); } else { gridview.setVisibility(View.GONE); showUri(); } }