+ }
+
+ private void jumpToTextFromHyperLink(final String selectedText, final int defaultIndexToUse) {
+ int indexToUse = -1;
+ for (int i = 0; i < dictionary.indices.size(); ++i) {
+ final Index index = dictionary.indices.get(i);
+ if (indexPrepFinished) {
+ System.out.println("Doing index lookup: on " + selectedText);
+ final IndexEntry indexEntry = index.findExact(selectedText);
+ if (indexEntry != null) {
+ final TokenRow tokenRow = index.rows.get(indexEntry.startRow)
+ .getTokenRow(false);
+ if (tokenRow != null && tokenRow.hasMainEntry) {
+ indexToUse = i;
+ break;
+ }
+ }
+ } else {
+ Log.w(LOG, "Skipping findExact on index " + index.shortName);
+ }
+ }
+ if (indexToUse == -1) {
+ indexToUse = defaultIndexToUse;
+ }
+ final boolean changeIndex = indexIndex != indexToUse;
+ // If we're not changing index, we have to trigger search:
+ setSearchText(selectedText, !changeIndex);
+ if (changeIndex) {
+ changeIndexGetFocusAndResearch(indexToUse);
+ }
+ // Give focus back to list view because typing is done.
+ getListView().requestFocus();