-<LinearLayout android:id="@+id/LinearLayout01"
- android:layout_height="wrap_content" xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical" android:layout_width="fill_parent">
-
- <LinearLayout android:id="@+id/LinearLayout02"
- android:layout_width="wrap_content" android:layout_height="wrap_content"
- android:layout_gravity="center_horizontal">
-
- <ImageView android:id="@+id/ImageView01"
- android:layout_width="wrap_content" android:layout_height="wrap_content"
- android:layout_gravity="center_horizontal" android:background="@drawable/icon"></ImageView>
-
- <TextView android:id="@+id/title"
+<ScrollView android:id="@+id/ScrollView01"
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content">
+
+<LinearLayout
+ android:id="@+id/LinearLayout01"
+ android:orientation="vertical"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ >
+
+ <LinearLayout
+ android:id="@+id/LinearLayout02"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:paddingBottom="10dip">
+
+ <ImageView
+ android:id="@+id/ImageView01"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:background="@drawable/icon"/>
+
+ <TextView
+ android:id="@+id/title"
+ android:text="@string/titleWithVersion"
android:textAppearance="?android:attr/textAppearanceLarge"
- android:layout_width="wrap_content" android:layout_height="wrap_content"
- android:layout_gravity="center_vertical|fill_vertical" android:text="QuickDic 1.0"></TextView>
-
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical|fill_vertical" />
</LinearLayout>
-
-
- <TextView android:text=" " android:id="@+id/space1"
- android:layout_width="wrap_content" android:layout_height="wrap_content"
- android:layout_gravity="center_horizontal"></TextView>
-
- <TextView android:text="(c) 2009" android:id="@+id/copyright"
- android:layout_width="wrap_content" android:layout_height="wrap_content"
- android:layout_gravity="center_horizontal"></TextView>
-
- <TextView android:text="by Thad Hughes" android:id="@+id/author"
- android:layout_width="wrap_content" android:layout_height="wrap_content"
- android:layout_gravity="center_horizontal"></TextView>
-
- <TextView android:text=" " android:id="@+id/space3"
- android:layout_width="wrap_content" android:layout_height="wrap_content"
- android:layout_gravity="center_horizontal"></TextView>
-
- <TextView android:layout_width="wrap_content"
- android:layout_height="wrap_content" android:id="@+id/emailMe"
- android:text="If you're using QuickDic, I'd love to hear from you. Please send comments, suggestions, bug reports, or just a quick hello to:"></TextView>
-
- <TextView android:id="@+id/email" android:layout_width="wrap_content"
- android:layout_height="wrap_content" android:autoLink="email" android:clickable="true"
- android:text="thad.hughes+quickdic@gmail.com" android:layout_gravity="left"></TextView>
-
- <TextView android:text=" " android:id="@+id/space2"
- android:layout_width="wrap_content" android:layout_height="wrap_content"
- android:layout_gravity="center_horizontal"></TextView>
-
- <TextView android:id="@+id/currentDictInfoTitle"
+ <TextView
+ android:id="@+id/copyright"
+ android:text="(c) 2009"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"/>
+
+ <TextView
+ android:id="@+id/author"
+ android:text="Thad Hughes"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:paddingBottom="10dip"/>
+
+ <TextView
+ android:id="@+id/emailMe"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/contactMe"/>
+
+ <TextView
+ android:id="@+id/email"
+ android:text="@string/myEmail"
+ android:autoLink="email"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:clickable="true"
+ android:layout_gravity="left"
+ android:paddingBottom="10dip"/>
+
+ <TextView
+ android:id="@+id/currentDictInfoTitle"
android:textAppearance="?android:attr/textAppearanceLarge"
- android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Current dictionary info:"></TextView>
-
- <TextView android:text="No dictionary loaded." android:id="@+id/currentDictInfo"
- android:layout_width="fill_parent" android:layout_height="wrap_content"></TextView>
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/currentDictInfo"/>
+ <TextView
+ android:id="@+id/currentDictInfo"
+ android:text="@string/noDictLoaded"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"/>
</LinearLayout>
+
+</ScrollView>
\ No newline at end of file
import android.app.AlertDialog;
import android.app.ListActivity;
+import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
+import android.content.SharedPreferences.Editor;
import android.graphics.Typeface;
import android.os.Bundle;
import android.os.Handler;
import android.preference.PreferenceManager;
+import android.text.ClipboardManager;
import android.text.Editable;
import android.text.Spannable;
import android.text.TextWatcher;
public class DictionaryActivity extends ListActivity {
- String WORD_LIST_FILE;
- String DICT_FILE;
- String DICT_FETCH_URL;
-
static final Intent preferencesIntent = new Intent().setClassName(PreferenceActivity.class.getPackage().getName(), PreferenceActivity.class.getCanonicalName());
+
+ static final String LOG = "QuickDic";
+ static final String PREF_DICT_ACTIVE_LANG = "DICT_DIR_PREF";
+ static final String PREF_ACTIVE_SEARCH_TEXT = "ACTIVE_WORD_PREF";
private final Handler uiHandler = new Handler();
private final Executor searchExecutor = Executors.newSingleThreadExecutor();
private final DictionaryListAdapter dictionaryListAdapter = new DictionaryListAdapter();
// Never null.
- private File wordList = new File("/sdcard/wordList.txt");
+ private File wordList;
// Can be null.
private File dictFile = null;
private RandomAccessFile dictRaf = null;
private Dictionary dictionary = null;
- private LanguageData activeLangaugeData = null;
+ private LanguageData activeLanguageData = null;
private SearchOperation searchOperation = null;
private int selectedRowIndex = -1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- WORD_LIST_FILE = getResources().getString(R.string.wordListFileKey);
- DICT_FILE = getResources().getString(R.string.dictFileKey);
- DICT_FETCH_URL = getResources().getString(R.string.dictFetchUrlKey);
-
- Log.d("THAD", "onCreate");
- }
-
- @Override
- public void onResume() {
- super.onResume();
-
- // Have to close, because we might have downloaded a new copy of the dictionary.
- closeCurrentDictionary();
-
- final SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);
- wordList = new File(settings.getString(WORD_LIST_FILE, wordList.getAbsolutePath()));
- final File newDictFile = new File(settings.getString(DICT_FILE, "/sdcard/de-en.dict"));
- dictFile = newDictFile;
- Log.d("THAD", "wordList=" + wordList);
- Log.d("THAD", "dictFile=" + dictFile);
-
- if (!dictFile.canRead()) {
- dictionaryListAdapter.notifyDataSetChanged();
- Log.d("THAD", "Unable to read dictionary file.");
- final AlertDialog alert = new AlertDialog.Builder(DictionaryActivity.this).create();
- alert.setMessage("Unable to read dictionary file: " + dictFile.getAbsolutePath());
- alert.setButton("Download dictionary", new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int which) {
- startDownloadDictActivity();
- }});
- alert.show();
- return;
- }
+ Log.d(LOG, "onCreate");
- try {
- dictRaf = new RandomAccessFile(dictFile, "r");
- dictionary = new Dictionary(dictRaf);
- activeLangaugeData = dictionary.languageDatas[Entry.LANG1];
- dictionaryListAdapter.notifyDataSetChanged();
- } catch (Exception e) {
- throw new RuntimeException(e);
+ if (Language.EN.sortCollator.compare("preppy", "pre-print") >= 0) {
+ Log.e(LOG, "Android java.text.Collator is buggy, lookups may not work properly.");
}
-
+
setContentView(R.layout.main);
- getSearchText().addTextChangedListener(new DictionaryTextWatcher());
+ getSearchText().addTextChangedListener(new SearchTextWatcher());
setListAdapter(dictionaryListAdapter);
public void onClick(View v) {
switchLanguage();
}});
- updateLangButton();
final Button upButton = (Button) findViewById(R.id.UpButton);
upButton.setOnClickListener(new OnClickListener() {
return;
}
final int destRowIndex;
- final Row tokenRow = activeLangaugeData.rows.get(selectedTokenRowIndex);
+ final Row tokenRow = activeLanguageData.rows.get(selectedTokenRowIndex);
assert tokenRow.isToken();
final int prevTokenIndex = tokenRow.getIndex() - 1;
if (selectedRowIndex == selectedTokenRowIndex && selectedRowIndex > 0) {
- destRowIndex = activeLangaugeData.sortedIndex.get(prevTokenIndex).startRow;
+ destRowIndex = activeLanguageData.sortedIndex.get(prevTokenIndex).startRow;
} else {
destRowIndex = selectedTokenRowIndex;
}
jumpToRow(destRowIndex);
}});
+
final Button downButton = (Button) findViewById(R.id.DownButton);
downButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
if (dictionary == null) {
return;
}
- final Row tokenRow = activeLangaugeData.rows.get(selectedTokenRowIndex);
+ final Row tokenRow = activeLanguageData.rows.get(selectedTokenRowIndex);
assert tokenRow.isToken();
final int nextTokenIndex = tokenRow.getIndex() + 1;
final int destRowIndex;
- if (nextTokenIndex < activeLangaugeData.sortedIndex.size()) {
- destRowIndex = activeLangaugeData.sortedIndex.get(nextTokenIndex).startRow;
+ if (nextTokenIndex < activeLanguageData.sortedIndex.size()) {
+ destRowIndex = activeLanguageData.sortedIndex.get(nextTokenIndex).startRow;
} else {
- destRowIndex = activeLangaugeData.rows.size() - 1;
+ destRowIndex = activeLanguageData.rows.size() - 1;
}
jumpToRow(destRowIndex);
}});
getListView().setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> arg0, View arg1, int rowIndex,
long arg3) {
- Log.d("THAD", "onItemSelected: " + rowIndex);
+ if (activeLanguageData == null) {
+ return;
+ }
+ Log.d(LOG, "onItemSelected: " + rowIndex);
selectedRowIndex = rowIndex;
- selectedTokenRowIndex = activeLangaugeData.getIndexEntryForRow(rowIndex).startRow;
+ selectedTokenRowIndex = activeLanguageData.getIndexEntryForRow(rowIndex).startRow;
updateSearchText();
}
}
}));
- onSearchTextChange("");
+ }
+
+ @Override
+ public void onResume() {
+ super.onResume();
+
+ // Have to close, because we might have downloaded a new copy of the dictionary.
+ closeCurrentDictionary();
+
+ final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
+ wordList = new File(prefs.getString(getString(R.string.wordListFileKey), getString(R.string.wordListFileDefault)));
+ final File newDictFile = new File(prefs.getString(getString(R.string.dictFileKey), getString(R.string.dictFileDefault)));
+ dictFile = newDictFile;
+ Log.d(LOG, "wordList=" + wordList);
+ Log.d(LOG, "dictFile=" + dictFile);
+
+ if (!dictFile.canRead()) {
+ dictionaryListAdapter.notifyDataSetChanged();
+ Log.d(LOG, "Unable to read dictionary file.");
+ final AlertDialog alert = new AlertDialog.Builder(DictionaryActivity.this).create();
+ alert.setMessage(String.format(getString(R.string.unableToReadDictionaryFile), dictFile.getAbsolutePath()));
+ alert.setButton(getString(R.string.downloadDictionary), new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int which) {
+ startDownloadDictActivity();
+ }});
+ alert.show();
+ return;
+ }
+
+ final byte lang = prefs.getInt(PREF_DICT_ACTIVE_LANG, Entry.LANG1) == Entry.LANG1 ? Entry.LANG1 : Entry.LANG2;
+
+ try {
+ dictRaf = new RandomAccessFile(dictFile, "r");
+ dictionary = new Dictionary(dictRaf);
+ activeLanguageData = dictionary.languageDatas[lang];
+ dictionaryListAdapter.notifyDataSetChanged();
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+
+ updateLangButton();
+
+ final String searchText = prefs.getString(PREF_ACTIVE_SEARCH_TEXT, "");
+ getSearchText().setText(searchText);
+ onSearchTextChange(searchText);
+ }
+
+ @Override
+ public void onPause() {
+ super.onPause();
+ if (activeLanguageData != null) {
+ final Editor prefs = PreferenceManager.getDefaultSharedPreferences(this).edit();
+ prefs.putInt(PREF_DICT_ACTIVE_LANG, activeLanguageData.lang);
+ prefs.putString(PREF_ACTIVE_SEARCH_TEXT, getSearchText().getText().toString());
+ prefs.commit();
+ }
}
private void closeCurrentDictionary() {
dictionary = null;
- activeLangaugeData = null;
+ activeLanguageData = null;
try {
if (dictRaf != null) {
dictRaf.close();
}
public String getSelectedRowRawText() {
- return activeLangaugeData.rowToString(activeLangaugeData.rows.get(selectedRowIndex));
+ return activeLanguageData.rowToString(activeLanguageData.rows.get(selectedRowIndex));
}
public EditText getSearchText() {
@Override
public boolean onCreateOptionsMenu(final Menu menu) {
- switchLanguageMenuItem = menu.add("Switch to language.");
+ switchLanguageMenuItem = menu.add(getString(R.string.switchToLanguage));
switchLanguageMenuItem.setOnMenuItemClickListener(new OnMenuItemClickListener(){
public boolean onMenuItemClick(final MenuItem menuItem) {
switchLanguage();
return false;
}});
- final MenuItem preferences = menu.add("Preferences...");
+ final MenuItem preferences = menu.add(getString(R.string.preferences));
preferences.setOnMenuItemClickListener(new OnMenuItemClickListener(){
public boolean onMenuItemClick(final MenuItem menuItem) {
startActivity(preferencesIntent);
return false;
}});
- final MenuItem about = menu.add("About...");
+ final MenuItem about = menu.add(getString(R.string.about));
about.setOnMenuItemClickListener(new OnMenuItemClickListener(){
public boolean onMenuItemClick(final MenuItem menuItem) {
final Intent intent = new Intent().setClassName(AboutActivity.class.getPackage().getName(), AboutActivity.class.getCanonicalName());
final StringBuilder currentDictInfo = new StringBuilder();
if (dictionary == null) {
- currentDictInfo.append("No dictionary loaded.");
+ currentDictInfo.append(getString(R.string.noDictLoaded));
} else {
currentDictInfo.append(dictionary.dictionaryInfo).append("\n\n");
currentDictInfo.append("Entry count: " + dictionary.entries.size()).append("\n");
return false;
}});
- final MenuItem download = menu.add("Download dictionary...");
+ final MenuItem download = menu.add(getString(R.string.downloadDictionary));
download.setOnMenuItemClickListener(new OnMenuItemClickListener(){
public boolean onMenuItemClick(final MenuItem menuItem) {
startDownloadDictActivity();
@Override
public boolean onPrepareOptionsMenu(final Menu menu) {
if (dictionary != null) {
- switchLanguageMenuItem.setTitle(String.format("Switch to %s", dictionary.languageDatas[Entry.otherLang(activeLangaugeData.lang)].language.symbol));
+ switchLanguageMenuItem.setTitle(String.format(
+ getString(R.string.switchToLanguage), dictionary.languageDatas[Entry
+ .otherLang(activeLanguageData.lang)].language.symbol));
}
switchLanguageMenuItem.setEnabled(dictionary != null);
return super.onPrepareOptionsMenu(menu);
if (dictionary == null) {
return;
}
- activeLangaugeData = dictionary.languageDatas[(activeLangaugeData == dictionary.languageDatas[0]) ? 1 : 0];
+ activeLanguageData = dictionary.languageDatas[(activeLanguageData == dictionary.languageDatas[0]) ? 1 : 0];
selectedRowIndex = 0;
selectedTokenRowIndex = 0;
updateLangButton();
void updateLangButton() {
final Button langButton = (Button) findViewById(R.id.LangButton);
- langButton.setText(activeLangaugeData.language.symbol);
+ langButton.setText(activeLanguageData.language.symbol);
}
// ----------------------------------------------------------------
if (selectedRowIndex == -1) {
return;
}
- final MenuItem addToWordlist = menu.add("Add to wordlist: " + wordList.getName());
+
+ final MenuItem addToWordlist = menu.add(String.format(getString(R.string.addToWordList), wordList.getName()));
addToWordlist.setOnMenuItemClickListener(new OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
final StringBuilder rawText = new StringBuilder();
- final String word = activeLangaugeData.getIndexEntryForRow(selectedRowIndex).word;
+ final String word = activeLanguageData.getIndexEntryForRow(selectedRowIndex).word;
rawText.append(new SimpleDateFormat("yyyy.MM.dd HH:mm:ss").format(new Date())).append("\t");
rawText.append(word).append("\t");
rawText.append(getSelectedRowRawText());
- Log.d("THAD", "Writing : " + rawText);
+ Log.d(LOG, "Writing : " + rawText);
try {
wordList.getParentFile().mkdirs();
final PrintWriter out = new PrintWriter(new FileWriter(wordList, true));
out.println(rawText.toString());
out.close();
} catch (IOException e) {
- Log.e("THAD", "Unable to append to " + wordList.getAbsolutePath(), e);
+ Log.e(LOG, "Unable to append to " + wordList.getAbsolutePath(), e);
final AlertDialog alert = new AlertDialog.Builder(DictionaryActivity.this).create();
alert.setMessage("Failed to append to file: " + wordList.getAbsolutePath());
alert.show();
return false;
}
});
+
+ final MenuItem copy = menu.add(android.R.string.copy);
+ copy.setOnMenuItemClickListener(new OnMenuItemClickListener() {
+ public boolean onMenuItemClick(MenuItem item) {
+ Log.d(LOG, "Copy.");
+ final StringBuilder result = new StringBuilder();
+ result.append(getSelectedRowRawText());
+ final ClipboardManager clipboardManager = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
+ clipboardManager.setText(result.toString());
+ return false;
+ }
+ });
+
}
@Override
@Override
protected void onListItemClick(ListView l, View v, int row, long id) {
selectedRowIndex = row;
- Log.d("THAD", "Clicked: " + getSelectedRowRawText());
+ Log.d(LOG, "Clicked: " + getSelectedRowRawText());
openContextMenu(getListView());
}
void onSearchTextChange(final String searchText) {
- Log.d("THAD", "onSearchTextChange: " + searchText);
+ Log.d(LOG, "onSearchTextChange: " + searchText);
if (dictionary == null) {
return;
}
}
private void jumpToRow(final int rowIndex) {
- Log.d("THAD", "jumpToRow: " + rowIndex);
+ Log.d(LOG, "jumpToRow: " + rowIndex);
selectedRowIndex = rowIndex;
- selectedTokenRowIndex = activeLangaugeData.getIndexEntryForRow(rowIndex).startRow;
+ selectedTokenRowIndex = activeLanguageData.getIndexEntryForRow(rowIndex).startRow;
getListView().setSelection(rowIndex);
getListView().setSelected(true); // TODO: is this doing anything?
updateSearchText();
private void updateSearchText() {
final EditText searchText = getSearchText();
if (!searchText.hasFocus()) {
- final String word = activeLangaugeData.getIndexEntryForRow(selectedRowIndex).word;
+ final String word = activeLanguageData.getIndexEntryForRow(selectedRowIndex).word;
if (!word.equals(searchText.getText().toString())) {
- Log.d("THAD", "updateSearchText: setText: " + word);
+ Log.d(LOG, "updateSearchText: setText: " + word);
searchText.setText(word);
}
}
DownloadActivity.class.getPackage().getName(),
DownloadActivity.class.getCanonicalName());
final SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(DictionaryActivity.this);
- final String dictFetchUrl = settings.getString(DICT_FETCH_URL, getResources().getString(R.string.dictFetchUrl));
- final String dictFileName = settings.getString(DICT_FILE, getResources().getString(R.string.dictFile));
+ final String dictFetchUrl = settings.getString(getString(R.string.dictFetchUrlKey), getString(R.string.dictFetchUrlDefault));
+ final String dictFileName = settings.getString(getString(R.string.dictFileKey), getString(R.string.dictFileDefault));
intent.putExtra(DownloadActivity.SOURCE, dictFetchUrl);
intent.putExtra(DownloadActivity.DEST, dictFileName);
startActivity(intent);
}
public void run() {
- Log.d("THAD", "SearchOperation: " + searchText);
- final int indexLocation = activeLangaugeData.lookup(searchText, interrupted);
+ Log.d(LOG, "SearchOperation: " + searchText);
+ final int indexLocation = activeLanguageData.lookup(searchText, interrupted);
if (interrupted.get()) {
return;
}
- final IndexEntry indexEntry = activeLangaugeData.sortedIndex
+ final IndexEntry indexEntry = activeLanguageData.sortedIndex
.get(indexLocation);
+ Log.d(LOG, "SearchOperation completed: " + indexEntry.toString());
uiHandler.post(new Runnable() {
public void run() {
jumpToRow(indexEntry.startRow);
private class DictionaryListAdapter extends BaseAdapter {
public int getCount() {
- return dictionary != null ? activeLangaugeData.rows.size() : 0;
+ if (dictionary == null) {
+ return 0;
+ }
+ return activeLanguageData.rows.size();
}
public Dictionary.Row getItem(int rowIndex) {
- assert rowIndex < activeLangaugeData.rows.size();
- return activeLangaugeData.rows.get(rowIndex);
+ final LanguageData activeLanguageData = DictionaryActivity.this.activeLanguageData;
+ if (activeLanguageData == null) {
+ return null;
+ }
+ assert rowIndex < activeLanguageData.rows.size();
+ return activeLanguageData.rows.get(rowIndex);
}
public long getItemId(int rowIndex) {
public View getView(final int rowIndex, final View convertView,
final ViewGroup parent) {
final Row row = getItem(rowIndex);
-
+
// Token row.
- if (row.isToken()) {
+ if (row == null || row.isToken()) {
TextView result = null;
if (convertView instanceof TextView) {
result = (TextView) convertView;
} else {
result = new TextView(parent.getContext());
}
- result.setText(activeLangaugeData.rowToString(row));
+ if (row == null) {
+ return result;
+ }
+ result.setText(activeLanguageData.rowToString(row));
result.setTextAppearance(parent.getContext(),
android.R.style.TextAppearance_Large);
result.setClickable(false);
// column1.setTextAppearance(parent.getContext(), android.R.style.Text);
// TODO: color words by gender
- final String col1Text = entry.getAllText(activeLangaugeData.lang)[r];
+ final String col1Text = entry.getAllText(activeLanguageData.lang)[r];
column1.setText(col1Text, TextView.BufferType.SPANNABLE);
final Spannable col1Spannable = (Spannable) column1.getText();
int startPos = 0;
- final String token = activeLangaugeData.getIndexEntryForRow(rowIndex).word;
+ final String token = activeLanguageData.getIndexEntryForRow(rowIndex).word;
while ((startPos = col1Text.indexOf(token, startPos)) != -1) {
col1Spannable.setSpan(new StyleSpan(Typeface.BOLD), startPos, startPos + token.length(), Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
startPos += token.length();
}
- column2.setText(entry.getAllText(Entry.otherLang(activeLangaugeData.lang))[r], TextView.BufferType.NORMAL);
+ column2.setText(entry.getAllText(Entry.otherLang(activeLanguageData.lang))[r], TextView.BufferType.NORMAL);
result.addView(tableRow);
}
}
} // DictionaryListAdapter
- private class DictionaryTextWatcher implements TextWatcher {
+ private class SearchTextWatcher implements TextWatcher {
public void afterTextChanged(final Editable searchText) {
if (getSearchText().hasFocus()) {
// If they were typing to cause the change, update the UI.