return;\r
}\r
\r
- Log.d(LOG, "Loading index.");\r
indexIndex = intent.getIntExtra(C.INDEX_INDEX, 0) % dictionary.indices.size();\r
+ Log.d(LOG, "Loading index " + indexIndex);\r
index = dictionary.indices.get(indexIndex);\r
setListAdapter(new IndexAdapter(index));\r
\r
changeIndex((indexIndex + 1)% dictionary.indices.size());\r
}\r
\r
- static class OpenIndexButton extends Button implements OnClickListener {\r
-\r
- final Activity activity;\r
- final Intent intent;\r
-\r
- public OpenIndexButton(final Context context, final Activity activity, final String text, final Intent intent) {\r
- super(context);\r
- this.activity = activity;\r
- this.intent = intent;\r
- setOnClickListener(this);\r
- setText(text, BufferType.NORMAL);\r
- }\r
-\r
- @Override\r
- public void onClick(View v) {\r
- activity.finish();\r
- getContext().startActivity(intent);\r
- }\r
- \r
- }\r
-\r
void onLanguageButtonLongClick(final Context context) {\r
final Dialog dialog = new Dialog(context);\r
dialog.setContentView(R.layout.select_dictionary_dialog);\r
updateLangButton();\r
searchText.requestFocus(); // Otherwise, nothing may happen.\r
onSearchTextChange(searchText.getText().toString());\r
+ setDictionaryPrefs(this, dictFile, indexIndex, searchText.getText().toString());\r
}\r
\r
void onUpDownButton(final boolean up) {\r
@Override\r
protected void onListItemClick(ListView l, View v, int row, long id) {\r
defocusSearchText();\r
- \r
if (clickOpensContextMenu && dictRaf != null) {\r
openContextMenu(v);\r
}\r
public View getView(int position, final View convertView, ViewGroup parent) {\r
final RowBase row = index.rows.get(position);\r
if (row instanceof PairEntry.Row) {\r
- return getView((PairEntry.Row) row, parent, convertView);\r
+ return getView(position, (PairEntry.Row) row, parent, convertView);\r
} else if (row instanceof TokenRow) {\r
return getView((TokenRow) row, parent, convertView);\r
} else {\r
}\r
}\r
\r
- private View getView(PairEntry.Row row, ViewGroup parent, final View convertView) {\r
+ private View getView(final int position, PairEntry.Row row, ViewGroup parent, final View convertView) {\r
final TableLayout result = new TableLayout(parent.getContext());\r
final PairEntry entry = row.getEntry();\r
final int rowCount = entry.pairs.size();\r
col2.setOnLongClickListener(textViewLongClickListenerIndex1);\r
}\r
\r
+ // Because we have a Button inside a ListView row:\r
+ // http://groups.google.com/group/android-developers/browse_thread/thread/3d96af1530a7d62a?pli=1\r
+ result.setDescendantFocusability(ViewGroup.FOCUS_BLOCK_DESCENDANTS);\r
+ result.setClickable(true);\r
+ result.setFocusable(true);\r
+ result.setLongClickable(true);\r
+ result.setBackgroundResource(android.R.drawable.menuitem_background);\r
+ result.setOnClickListener(new TextView.OnClickListener() {\r
+ @Override\r
+ public void onClick(View v) {\r
+ DictionaryActivity.this.onListItemClick(null, v, position, position);\r
+ }\r
+ });\r
+ \r
result.addView(tableRow);\r
}\r
\r