Java 如何:添加到收藏夹并查看收藏夹列表

Java 如何:添加到收藏夹并查看收藏夹列表,java,android,eclipse,Java,Android,Eclipse,我正在开发一个Android语言词典应用程序。我正在考虑一个“收藏夹”按钮,它分两个阶段工作: 短按一下就会将当前浏览的单词添加到收藏夹列表中 长时间点击将允许用户查看收藏夹列表(添加的单词) 我想知道这是否可能,如果可能的话,你能解释一下怎么做吗 注:到目前为止,我只成功地将收藏夹图像按钮添加到应用程序中,当短按时,它会显示:“所选单词添加到收藏夹” 非常感谢您。假设,公共类FavViewActivity扩展了ListActivity,您只需以与添加OnClickListener相同的方式添加

我正在开发一个Android语言词典应用程序。我正在考虑一个“收藏夹”按钮,它分两个阶段工作:

  • 短按一下就会将当前浏览的单词添加到收藏夹列表中
  • 长时间点击将允许用户查看收藏夹列表(添加的单词) 我想知道这是否可能,如果可能的话,你能解释一下怎么做吗

    注:到目前为止,我只成功地将收藏夹图像按钮添加到应用程序中,当短按时,它会显示:“所选单词添加到收藏夹”


    非常感谢您。

    假设,
    公共类FavViewActivity扩展了ListActivity
    ,您只需以与添加OnClickListener相同的方式添加OnLongClickListener:

    btnAddFavourite = (ImageButton) findViewById(R.id.btnAddFavourite);
    
    btnAddFavourite.setOnClickListener(new View.OnClickListener() {
    
            @Override
            public void onClick(View v) {
                // Add code here to save the favourite, e.g. in the db.
            }
        });
    
    btnAddFavourite.setOnLongClickListener(new View.OnLongClickListener() {
    
            @Override
            public boolean onLongClick(View v) {
    
                // Open the favourite Activity, which in turn will fetch the saved favourites, to show them.
                Intent intent = new Intent(getApplicationContext(), FavViewActivity.class);
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                getApplicationContext().startActivity(intent);
    
                return false;
            }
        });
    
    在数据库中,保留一个收藏夹表,列出标记为收藏夹的单词的id:s

    对于创建一个新的活动,比如FavViewActivity,有很多指导

    • 这是一个
    • 是StackOverflow上的一个
    • 是文档
    要获得更多帮助,请更具体地说明您的想法,并添加您迄今为止尝试过的内容^_^

    [更新] @慢跑:非常感谢。我已经设法使ViewHistory工作,但仍然没有弄清楚如何查看收藏夹列表。更具体地说,请参阅随附的我的ContentView文件:

    package viettien.kadict;
    
    import java.util.ArrayList;
    import java.util.Arrays;
    
    import viettien.kadict.R;
    
    import android.app.Activity;
    import android.app.ProgressDialog;
    import android.content.Intent;
    import android.content.SharedPreferences;
    import android.database.Cursor;
    import android.graphics.Color;
    import android.net.Uri;
    import android.os.Bundle;
    import android.preference.PreferenceManager;
    import android.util.Log;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.view.Window;
    import android.webkit.WebView;
    import android.webkit.WebViewClient;
    import android.widget.ImageButton;
    import android.widget.Toast;
    
    public class ContentView extends Activity {
    
    static final private String CONTENT_TAG = "[Kadict - Content]";
    
    static final private int SHOW_HISTORY_CODE = 0;
    static final private int SHOW_FAVOURITE_CODE = 1;
    
    static final private int MENU_BACK = Menu.FIRST;
    static final private int MENU_FOWARD = Menu.FIRST+1;
    static final private int MENU_LIST = Menu.FIRST+2;
    static final private int MENU_HISTORY = Menu.FIRST+3;
    
    private static final String MIMETYPE = "text/html";
    private static final String ENCODING = "UTF-8";
    
    private WebView wvContent = null;
    private ImageButton btnGoBack = null;
    private ImageButton btnGoForward = null;
    private ImageButton btnShowHistory = null;
    private ImageButton btnAddFavourite = null;
    
    private String mCurrentWord;
    private String mSelectedDB;
    //private String mSelectedDBName;
    private String mContentStyle;
    private int mCurrentWordId;
    private int mCurrentHistoryIndex = -1;
    
    Menu menu = null;
    
    private ArrayList<String> mWordHistory = null;
    
    private SharedPreferences prefs;
    
    private ProgressDialog pd = null;
    
    // create Menu for Program
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
      super.onCreateOptionsMenu(menu);
    
      Log.i(CONTENT_TAG, "menu drawed!!");
      // Group ID
      int groupId = 0;
    
      // The order position of the item
      int menuItemOrder = Menu.NONE;
      this.menu=menu;
      // Added extra items to make sure there's more than six to 
      // force the extended menu to appear.
      menu.add(groupId, MENU_BACK, menuItemOrder, R.string.menuGoBack);
      menu.add(groupId, MENU_FOWARD, menuItemOrder, R.string.menuGoForward);
      menu.add(groupId, MENU_LIST, menuItemOrder, R.string.menuList);
      menu.add(groupId, MENU_HISTORY, menuItemOrder, R.string.menuHistory);
    
      return true;
    }
    
    // process event select Menu
    public boolean onOptionsItemSelected(MenuItem item) {
        super.onOptionsItemSelected(item);
    
        // Find which menu item has been selected
        switch (item.getItemId()) {
            case (MENU_BACK): 
            {    
                goBack();
                break;
            }
            case (MENU_FOWARD): 
            {
                goForward();
                break;
            }
            case (MENU_LIST): 
            {
                //menuDictionaryManager();
                menuList();
                break;
            }
            case (MENU_HISTORY):
            {
                break;              
            }
        }
        return true;
    }
    
    public void menuList()
    {
        /*
         * TODO
         * - save history list
         */
        Intent i = new Intent();
        i.putExtra("word", mCurrentWord);
        setResult(RESULT_OK,i);
        finish();
    }
    
    public void goBack()
    {
        Log.i(CONTENT_TAG,"go back");
        String content = getHistoryContent("back");
        showContent(content);
    }
    
    public void goForward()
    {
        Log.i(CONTENT_TAG,"go foward");
        String content = getHistoryContent("back");
        showContent(content);
    }
    
    @Override
    public void onPause()
    {
        super.onPause();
        saveHistoryToPreferences();
    }
    
    public void saveHistoryToPreferences()
    {
        if (prefs.getBoolean("saveHistory", true) && mWordHistory != null && mWordHistory.size() >= 1)
        {
            StringBuilder sbHistory = new StringBuilder();
            for (String item : mWordHistory)
            {
                sbHistory.append(item);
                sbHistory.append(",");
            }
    
            String strHistory = sbHistory.substring(0, sbHistory.length()-1);
            SharedPreferences.Editor editor = prefs.edit();
            editor.putString("history", strHistory);
            editor.commit();
            //Log.i(CONTENT_TAG,"history = " + strHistory);
            Log.i(CONTENT_TAG,"History saved!");
        }
    }
    
    public void loadHistoryFromPreferences()
    {
        if (prefs.getBoolean("saveHistory", true))
        {
            String strHistory = prefs.getString("history", "");
            Log.i(CONTENT_TAG, "History loaded");
            if (strHistory != null && !strHistory.equals(""))
            {
                mWordHistory = new ArrayList<String>(Arrays.asList(strHistory.split(",")));
            }
            else
            {
                if (mWordHistory == null)
                {
                    mWordHistory = new ArrayList<String>();
                }
                else
                {
                    mWordHistory.clear();
                }
            }
        }
        else
        {
            if (mWordHistory == null)
            {
                mWordHistory = new ArrayList<String>();
            }
            else
            {
                mWordHistory.clear();
            }
        }
    }
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE); 
    
        setContentView(R.layout.content);
        //Log.i(CONTENT_TAG,".................onCreate.................");
        Intent i = this.getIntent();
    
        int wordId = i.getIntExtra("id", -1);
        mCurrentWord = i.getStringExtra("word");
        mSelectedDB = i.getStringExtra("db");
        mContentStyle = i.getStringExtra("style");
        //Log.i(CONTENT_TAG,"Style from intent = " + mContentStyle);
        //Log.d(CONTENT_TAG,"current word = " + mCurrentWord);
        prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
    
        loadHistoryFromPreferences();
    
        wvContent = (WebView) findViewById(R.id.wvContent);
        initWebview();
        String content = getContentById(wordId);
        showContent(content);
    
        btnShowHistory = (ImageButton) findViewById(R.id.btnShowHistory);
        btnShowHistory.setOnClickListener(new View.OnClickListener() {
    
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Log.i(CONTENT_TAG, "Start showing history..");
    /*              Intent i = new Intent(v.getContext(), HistoryView.class);
                HistoryList hl = new HistoryList(mWordHistory);
                i.putExtra("history", hl);*/
                startActivityForResult(new Intent(v.getContext(),HistoryView.class), SHOW_HISTORY_CODE);
                //showHistory();
            }
        });
    
        btnGoBack = (ImageButton) findViewById(R.id.btnGoBack);
        btnGoBack.setOnClickListener(new View.OnClickListener() {
    
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Log.d(CONTENT_TAG, "Start going back");
                {
                    String content = getHistoryContent("back");
                    if (content == null) // end Activity now
                    {
                        menuList();
                    }
                    else // go back to previous word
                    {
                        showContent(content);
                    }
                    menuList();
                }
    
        }});
    
        btnGoForward = (ImageButton) findViewById(R.id.btnGoForward);
        btnGoForward.setOnClickListener(new View.OnClickListener() {
    
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Log.d(CONTENT_TAG, "Start going forward");
                goForward();
            }
        });
    
        btnAddFavourite = (ImageButton) findViewById(R.id.btnAddFavourite);
    
        btnAddFavourite.setOnClickListener(new View.OnClickListener() {
    
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    Toast toast = Toast.makeText(ContentView.this, R.string.messageWordAddedToFarvourite, Toast.LENGTH_SHORT);
                    toast.show();
                }
            });
    
        btnAddFavourite.setOnLongClickListener(new View.OnLongClickListener() {
    
                @Override
                public boolean onLongClick(View v) {
    
                    Intent intent = new Intent(getApplicationContext(), SearchActivity.class);
                    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    getApplicationContext().startActivity(intent);
    
                    return false;
                }
            });
    }
    
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) 
    {
        super.onActivityResult(requestCode, resultCode, data);
        switch (requestCode)
        {
            case SHOW_HISTORY_CODE:
                Log.i(CONTENT_TAG,"resultCode = " + resultCode);
                if (resultCode == RESULT_OK) // cleared
                {
                    if (data == null)
                    {
                        //loadHistoryFromPreferences();
                        mWordHistory.clear();
                        Log.i(CONTENT_TAG,"History cleared");
                    }
                    else
                    {
                        int id = data.getIntExtra("wordId", 0);
                        String dict = data.getStringExtra("dict");
                        Log.i(CONTENT_TAG,"id = " + id + " | dict = " + dict);
                        if (id > 0 && dict != null)
                        {
                            mSelectedDB = dict;
                            String content = getContentById(id);
                            //initWebview();
                            showContent(content);
                        }
                    }
                }
                break;
            case SHOW_FAVOURITE_CODE:
                break;
        }
    }
    
    /*    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        //super.onKeyDown(keyCode, event);
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            // When the user center presses, let them pick a contact.
            Log.d(CONTENT_TAG,"Backkey pressed !!!");
            if (mWordHistory != null && mWordHistory.size() > 1 && mCurrentHistoryIndex != 0)
            {
                String content = getHistoryContent("back");
                if (content == null) // end Activity now
                {
                    menuList();
                }
                else // go back to previous word
                {
                    showContent(content);
                }
            }
            else
            {
                menuList();
            }
            return true;
        }
        return false;
    }*/
    
    
    public void initWebview()
    {
        setContentView(R.layout.content);
        wvContent = (WebView) findViewById(R.id.wvContent);
        wvContent.setBackgroundColor(Color.argb(250, 250, 250, 250));
    
        wvContent.setWebViewClient(new WebViewClient() 
        {
            public void onPageFinished(WebView view, String url)
            {
                if (pd != null)
                {
                    pd.dismiss();
                    pd = null;
                }
            }
    
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url)
            {
                Log.i(CONTENT_TAG,"WebView link clicked; url = " + url);
                try
                {
                    String arrUrlPart[] = url.split("://");
    
                    if (arrUrlPart[0].equals("entry"))
                    {
                        String content = getContentByWord(arrUrlPart[1]);
                        showContent(content);
                    }
                    else if (arrUrlPart[0].equals("http"))
                    {
                         try {
                             /*Intent i = new Intent();
    
                             ComponentName comp = new ComponentName(
                                              "com.google.android.browser",
                                                     "com.google.android.browser.BrowserActivity");
                             i.setComponent(comp);
                             i.setAction("android.intent.action.VIEW");
                             i.addCategory("android.intent.category.BROWSABLE");
                             ContentURI uri = new ContentURI(url);
                             i.setData(uri);
                             startSubActivity(i, 2);*/
                             startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));                              
                         } catch (Exception ex) {
                             // TODO Auto-generated catch block
                             ex.printStackTrace();
                         }                      
                    }
                }
                catch (Exception ex)
                {
                    ex.printStackTrace();
                }
                return true;
            }
        });
    }
    
    public String getHistoryContent(String type)
    {
        String currentTerm = mSelectedDB + ":" + mCurrentWordId + ":" + mCurrentWord;
    
        Log.i(CONTENT_TAG,"currentTerm = " +currentTerm);
        if (mWordHistory == null || mWordHistory.isEmpty())
        {
            return null;
        }
        int pos = mWordHistory.indexOf(currentTerm);
        Log.i(CONTENT_TAG,"pos = " + pos);
        if (pos <= 0)
        {
            pos = mWordHistory.size();
        }
        String item = null;
        String searchTerm;
    
        if (type.equals("back"))
        {
            try
            {
                for (int i = pos-1; i >= 0 ; i--)
                {
                    searchTerm = mWordHistory.get(i);
                    searchTerm = searchTerm.substring(0,searchTerm.indexOf("::"));
                    Log.i(CONTENT_TAG,"item = " + mWordHistory.get(i) + " - searchTerm = " + searchTerm);
                    if (searchTerm.equals(mSelectedDB))
                    {
                        item = mWordHistory.get(i);  
                        mCurrentHistoryIndex = i;
                        break;
                    }
                }
            }
            catch (Exception ex)
            {
                Log.i(CONTENT_TAG,"Error in finding history entry");
            }
    
        }
        else
        {
            try
            {
                for (int i = pos; i < mWordHistory.size() ; i++)
                {
                    searchTerm = mWordHistory.get(i);
                    searchTerm = searchTerm.substring(0,searchTerm.indexOf("::"));
                    Log.i(CONTENT_TAG,"item = " + mWordHistory.get(i) + " - searchTerm = " + searchTerm);
                    if (searchTerm.equals(mSelectedDB))
                    {
                        item = mWordHistory.get(i);  
                        mCurrentHistoryIndex = i;
                        break;
                    }
                }
            }
            catch (Exception ex)
            {
                Log.i(CONTENT_TAG,"Error in finding history entry");
            }
        }
        if (item != null) // found previous item
        {
            Log.i(CONTENT_TAG,"item index = " + mCurrentHistoryIndex);
            String arrPart[] = item.split(":");
    
            Uri uri = Uri.parse("content://viettien.kadict.KadictProvider/dict/" + arrPart[0] + "/contentId/" + arrPart[1]);
    
            Log.i(CONTENT_TAG,"History uri = " + uri.toString());
            Cursor result = managedQuery(uri,null,null,null,null);
    
            String content;
            if (result != null)
            {
                result.moveToFirst();
                content = Utility.decodeContent(result.getString(result.getColumnIndex("content")));
    
                content = formatContent(content);
    
                mSelectedDB = arrPart[0];
                mCurrentWordId = Integer.parseInt(arrPart[1]);
                mCurrentWord = arrPart[2];
                return content;
            }
            else
            {
                return null;
            }
        }
        else
        {
            return null;
        }
    }
    
    public String getContentById(int id)
    {
        Uri uri = Uri.parse("content://viettien.kadict.KadictProvider/dict/" + mSelectedDB + "/contentId/" + id);
    
        Cursor result = managedQuery(uri,null,null,null,null);
    
        String content;
        if (result != null)
        {
            result.moveToFirst();
            content = Utility.decodeContent(result.getString(result.getColumnIndex("content")));
            mCurrentWordId = result.getInt(result.getColumnIndex("id"));
            mCurrentWord = result.getString(result.getColumnIndex("word"));
        }
        else // Word not found
        {
            content = getString(R.string.errorWordNotFound);
            mCurrentWordId = -1;
            mCurrentWord = "";
        }
        content = formatContent(content);
    
        return content;
    }
    
    public String getContentByWord(String word)
    {
        Uri uri = Uri.parse("content://viettien.kadict.KadictProvider/dict/" + mSelectedDB + "/contentWord/" + word);
    
        Log.i(CONTENT_TAG,"uri = " + uri.toString());
        Cursor result = managedQuery(uri,null,null,null,null);
    
        String content;
        if (result != null && result.getCount() > 0)
        {
            result.moveToFirst();
            content = Utility.decodeContent(result.getString(result.getColumnIndex("content")));
            mCurrentWordId = result.getInt(result.getColumnIndex("id"));
            mCurrentWord = result.getString(result.getColumnIndex("word"));
        }
        else
        {
            content = getString(R.string.errorWordNotFound) + word;
            mCurrentWordId = -1;
            mCurrentWord = "";
        }
        content = formatContent(content);
    
        return content;
    }
    
    public void saveHistory()
    {
        String item = mSelectedDB + "::" + mCurrentWordId + "::" + mCurrentWord;
        if (mWordHistory.indexOf(item) == -1 && mCurrentWordId != -1) // new item
        {
            mWordHistory.add(item);
            mCurrentHistoryIndex = mWordHistory.size();
    
            if (menu != null)
            {
                menu.findItem(MENU_FOWARD).setEnabled(false);
                if (mWordHistory.size() == 1)
                {
                    menu.findItem(MENU_BACK).setEnabled(false);
                }
            }
            //Log.i(CONTENT_TAG,"new item added " + item);
        }
    }
    
    public String formatContent(String content)
    {
        StringBuilder htmlData = new StringBuilder();
        htmlData.append("<html><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"/>\n");
        if (mContentStyle != null && !mContentStyle.equals(""))
        {
            htmlData.append("<head><style type=\"text/css\">"+mContentStyle+"</style></head>\n");
        }
        htmlData.append("<body><font face=\"Arial\">");
    
        htmlData.append(content);
    
        htmlData.append("</font></body></html>");
    
        return htmlData.toString();
    }
    
    public void showContent(String content)
    {
        if (content != null)
        {
            pd = ProgressDialog.show(this, "Working...", "Loading content", true,false);            
            saveHistory();
            wvContent.loadDataWithBaseURL (null, content, MIMETYPE, ENCODING,"about:blank");
        }
    }
    
    
    }
    
    package viettien.kadict;
    导入java.util.ArrayList;
    导入java.util.array;
    进口viettien.kadict.R;
    导入android.app.Activity;
    导入android.app.ProgressDialog;
    导入android.content.Intent;
    导入android.content.SharedReferences;
    导入android.database.Cursor;
    导入android.graphics.Color;
    导入android.net.Uri;
    导入android.os.Bundle;
    导入android.preference.PreferenceManager;
    导入android.util.Log;
    导入android.view.Menu;
    导入android.view.MenuItem;
    导入android.view.view;
    导入android.view.Window;
    导入android.webkit.WebView;
    导入android.webkit.WebViewClient;
    导入android.widget.ImageButton;
    导入android.widget.Toast;
    公共类ContentView扩展了活动{
    静态最终私有字符串CONTENT_TAG=“[Kadict-CONTENT]”;
    静态最终私有整数显示\历史\代码=0;
    静态最终私有整数显示\u收藏夹\u代码=1;
    静态最终私有int MENU\u BACK=MENU.FIRST;
    静态最终私有int MENU\u FOWARD=MENU.FIRST+1;
    静态最终私有int MENU_LIST=MENU.FIRST+2;
    静态最终私有int MENU_历史=MENU.FIRST+3;
    私有静态最终字符串MIMETYPE=“text/html”;
    私有静态最终字符串编码=“UTF-8”;
    私有WebView wvContent=null;
    私有ImageButton btnGoBack=null;
    私有ImageButton btnGoForward=null;
    private ImageButton btnShowHistory=null;
    私有ImageButton btnAddFavourite=null;
    私有字符串mCurrentWord;
    私有字符串mSelectedDB;
    //私有字符串mSelectedDBName;
    私有字符串mContentStyle;
    私有int-mCurrentWordId;
    private int mCurrentHistoryIndex=-1;
    菜单=空;
    private ArrayList mWordHistory=null;
    私人共享参考优先权;
    private ProgressDialog pd=null;
    //为程序创建菜单
    @凌驾
    公共布尔onCreateOptions菜单(菜单){
    super.onCreateOptions菜单(菜单);
    Log.i(内容标签,“菜单抽屉!!”);
    //组ID
    int-groupId=0;
    //项目的订单位置
    int menuItemOrder=Menu.NONE;
    这个.菜单=菜单;
    //添加了额外的项目,以确保有六个以上的
    //强制显示扩展菜单。
    添加(groupId、menu\u BACK、menuItemOrder、R.string.menuGoBack);
    menu.add(groupId、menu\FOWARD、menuItemOrder、R.string.menugoforder);
    添加(groupId、menu\u列表、menuItemOrder、R.string.menuList);
    添加(groupId、menu\u历史记录、menuItemOrder、R.string.menuHistory);
    返回true;
    }
    //进程事件选择菜单
    公共布尔值onOptionsItemSelected(菜单项项){
    super.onOptionsItemSelected(项目);
    //查找已选择的菜单项
    开关(item.getItemId()){
    案例(菜单返回):
    {    
    goBack();
    打破
    }
    案例(菜单前):
    {
    goForward();
    打破
    }
    案例(菜单列表):
    {
    //菜单项管理器();
    menuList();
    打破
    }
    案例(菜单\历史记录):
    {
    打破
    }
    }
    返回true;
    }
    公共无效菜单列表()
    {
    /*
    *待办事项
    *-保存历史记录列表
    */
    意图i=新意图();
    i、 putExtra(“单词”,mCurrentWord);
    setResult(结果_OK,i);
    完成();
    }
    公开作废goBack()
    {
    Log.i(内容标签“返回”);
    字符串内容=getHistoryContent(“返回”);
    showContent(content);
    }
    公开发行
    {
    Log.i(内容标签“前进”);
    字符串内容=getHistoryContent(“返回”);
    showContent(content);
    }
    @凌驾
    公共无效暂停()
    {
    super.onPause();
    saveHistoryToPreferences();
    }
    public void saveHistoryToPreferences()
    {
    if(prefs.getBoolean(“saveHistory”,true)&&mWordHistory!=null&&mWordHistory.size()>=1)
    {
    StringBuilder sbHistory=新建StringBuilder();
    用于(字符串项:mWordHistory)
    {
    sbHistory.append(项目);
    sbHistory.追加(“,”);
    }
    字符串strHistory=sbHistory.substring(0,sbHistory.length()-1);
    SharedReferences.Editor=prefs.edit();
    编辑:putString(“历史”,故事);
    commit();
    //Log.i(CONTENT_标签,“history=“+strHistory”);
    Log.i(CONTENT_标签,“History saved!”);
    }
    }
    public void loadHistoryFromPreferences()
    {
    if(prefs.getBoolean(“saveHistory”,true))
    {
    String strHistory=prefs.getString(“history”,即“”);
    Log.i(内容标签,“加载历史”);
    if(strHistory!=null&!strHistory.equals(“”)
    {
    mWordHistory=newarraylist(Arrays.asList(strHistory.split(“,”));
    }
    其他的
    {
    if(mWordHistor)