]> gitweb.fperrin.net Git - Dictionary.git/blobdiff - src/com/hughes/android/dictionary/DictionaryActivity.java
Added multiword search to dictionary.
[Dictionary.git] / src / com / hughes / android / dictionary / DictionaryActivity.java
index 66aee42061b2aa9267dc54c712527eaf7b335ee7..d9ef0cd9500cbf0d1cfccbce4749487e30500b39 100644 (file)
@@ -179,8 +179,8 @@ public class DictionaryActivity extends ListActivity {
       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
@@ -400,27 +400,6 @@ public class DictionaryActivity extends ListActivity {
     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
@@ -489,6 +468,7 @@ public class DictionaryActivity extends ListActivity {
     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
@@ -583,7 +563,6 @@ public class DictionaryActivity extends ListActivity {
   @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
@@ -791,7 +770,7 @@ public class DictionaryActivity extends ListActivity {
     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
@@ -799,7 +778,7 @@ public class DictionaryActivity extends ListActivity {
       }\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
@@ -865,6 +844,20 @@ public class DictionaryActivity extends ListActivity {
           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