X-Git-Url: http://gitweb.fperrin.net/?a=blobdiff_plain;f=src%2Fcom%2Fhughes%2Fandroid%2Fdictionary%2FDictionaryActivity.java;h=02286155532c187bf366a1cf86ffcdec1e034db6;hb=e79165503392ed6a7cb7a8eadc15eaae0cda9443;hp=b9b5043d21694261456efaa313080963633747ef;hpb=1228c4bb7ebcdf1873152aefb7bce9ec99107b42;p=Dictionary.git diff --git a/src/com/hughes/android/dictionary/DictionaryActivity.java b/src/com/hughes/android/dictionary/DictionaryActivity.java index b9b5043..0228615 100644 --- a/src/com/hughes/android/dictionary/DictionaryActivity.java +++ b/src/com/hughes/android/dictionary/DictionaryActivity.java @@ -846,7 +846,7 @@ public class DictionaryActivity extends AppCompatActivity { final LinearLayout result = new LinearLayout(parent.getContext()); - for (int i = 0; dictionaryInfo.indexInfos != null && i < dictionaryInfo.indexInfos.size(); ++i) { + for (int i = 0; i < dictionaryInfo.indexInfos.size(); ++i) { final IndexInfo indexInfo = dictionaryInfo.indexInfos.get(i); final View button = IsoUtils.INSTANCE.createButton(parent.getContext(), indexInfo, application.languageButtonPixels); @@ -1285,7 +1285,7 @@ public class DictionaryActivity extends AppCompatActivity { Log.d(LOG, "Trying to hide soft keyboard."); final InputMethodManager inputManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); View focus = getCurrentFocus(); - if (focus != null) { + if (inputManager != null && focus != null) { inputManager.hideSoftInputFromWindow(focus.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); } @@ -1501,7 +1501,7 @@ public class DictionaryActivity extends AppCompatActivity { DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); scale = dm.density; - } catch (NullPointerException e) + } catch (NullPointerException ignored) {} // Convert the dps to pixels, based on density scale mPaddingDefault = (int) (PADDING_DEFAULT_DP * scale + 0.5f); @@ -1604,19 +1604,6 @@ public class DictionaryActivity extends AppCompatActivity { col1.setTextColor(textColorFg); col2.setTextColor(textColorFg); - // Set the columns in the table. - if (r > 0) { - final TextView bullet = new TextView(tableRow.getContext()); - bullet.setText(" •"); - tableRow.addView(bullet); - } - tableRow.addView(col1, layoutParams); - if (r > 0) { - final TextView bullet = new TextView(tableRow.getContext()); - bullet.setText(" •"); - tableRow.addView(bullet); - } - tableRow.addView(col2, layoutParams); col1.setWidth(1); col2.setWidth(1); @@ -1634,13 +1621,37 @@ public class DictionaryActivity extends AppCompatActivity { col2.setOnLongClickListener(textViewLongClickListenerIndex1); } + // Set the columns in the table. + if (r == 0) { + tableRow.addView(col1, layoutParams); + tableRow.addView(col2, layoutParams); + } else { + for (int i = 0; i < 2; i++) { + final TextView bullet = new TextView(tableRow.getContext()); + bullet.setText(" • "); + LinearLayout wrapped = new LinearLayout(context); + wrapped.setOrientation(LinearLayout.HORIZONTAL); + LinearLayout.LayoutParams p1 = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT, 0); + wrapped.addView(bullet, p1); + LinearLayout.LayoutParams p2 = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT, 1); + wrapped.addView(i == 0 ? col1 : col2, p2); + tableRow.addView(wrapped, layoutParams); + } + } + result.addView(tableRow); } for (int r = 0; r < rowCount; ++r) { final TableRow tableRow = (TableRow)result.getChildAt(r); - final TextView col1 = (TextView)tableRow.getChildAt(r == 0 ? 0 : 1); - final TextView col2 = (TextView)tableRow.getChildAt(r == 0 ? 1 : 3); + View left = tableRow.getChildAt(0); + View right = tableRow.getChildAt(1); + if (r > 0) { + left = ((ViewGroup)left).getChildAt(1); + right = ((ViewGroup)right).getChildAt(1); + } + final TextView col1 = (TextView)left; + final TextView col2 = (TextView)right; // Set what's in the columns. final Pair pair = entry.pairs.get(r);