@Override public void onClick(View v) { gridview.setVisibility(View.GONE); if (bible.getCount(Bible.TYPE.VERSION) == 0 && bible.getDatabase() == null && v.getId() != R.id.version) { return; } switch (v.getId()) { case R.id.version: getVerse(); case R.id.book: case R.id.chapter: case R.id.items: showSpinner(v); break; case R.id.search: onSearchRequested(); break; case R.id.share: if (!copytext.equals("")) { Intent sendIntent = new Intent(); sendIntent.setAction(Intent.ACTION_SEND); sendIntent.putExtra(Intent.EXTRA_TEXT, copytext); sendIntent.setType("text/plain"); startActivity(Intent.createChooser(sendIntent, getResources().getText(R.string.share))); } } }
private int getMatt() { int matt = bible.getPosition(Bible.TYPE.OSIS, "Matt"); if (matt > 0 && matt * 2 > bible.getCount(Bible.TYPE.OSIS)) { return matt; } else { return -1; } }
@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(); } }