Android:控件AutoCompleteTextView 客户端保存搜索历史自动提示

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:orientation="vertical" >    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="horizontal" >        <AutoCompleteTextView            android:id="@+id/auto"            android:layout_width="0dp"            android:layout_height="wrap_content"            android:layout_weight="1"            android:completionHint="最近5条记录"            android:completionThreshold="1"            />        <Button            android:id="@+id/search"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="搜索" />    </LinearLayout>    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="vertical" >        <Button            android:id="@+id/clean"            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:text="清除历史记录"             android:onClick="cleanHistory"            />    </LinearLayout></LinearLayout>

public class TestActivity extends Activity {    private AutoCompleteTextView auto;    private Button searchbtn;    private ArrayAdapter<String> arr_adapter;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.test);        // 初始化        auto = (AutoCompleteTextView) findViewById(R.id.auto);        searchbtn = (Button) findViewById(R.id.search);        // 获取搜索记录文件内容        SharedPreferences sp = getSharedPreferences("search_history", 0);        String history = sp.getString("history", "暂时没有搜索记录");        // 用逗号分割内容返回数组        String[] history_arr = history.split(",");        // 新建适配器,适配器数据为搜索历史文件内容        arr_adapter = new ArrayAdapter<String>(this,                android.R.layout.simple_dropdown_item_1line, history_arr);        // 保留前50条数据        if (history_arr.length > 50) {            String[] newArrays = new String[50];            // 实现数组之间的复制            System.arraycopy(history_arr, 0, newArrays, 0, 50);            arr_adapter = new ArrayAdapter<String>(this,                    android.R.layout.simple_dropdown_item_1line, history_arr);        }        // 设置适配器        auto.setAdapter(arr_adapter);        // 设置监听事件,点击搜索写入搜索词        searchbtn.setOnClickListener(new Button.OnClickListener() {            @Override            public void onClick(View v) {                // TODO Auto-generated method stub                save();            }        });    }    public void save() {        // 获取搜索框信息        String text = auto.getText().toString();        SharedPreferences mysp = getSharedPreferences("search_history", 0);        String old_text = mysp.getString("history", "暂时没有搜索记录");                // 利用StringBuilder.append新增内容,逗号便于读取内容时用逗号拆分开        StringBuilder builder = new StringBuilder(old_text);        builder.append(text + ",");        // 判断搜索内容是否已经存在于历史文件,已存在则不重复添加        if (!old_text.contains(text + ",")) {            SharedPreferences.Editor myeditor = mysp.edit();            myeditor.putString("history", builder.toString());            myeditor.commit();            Toast.makeText(this, text + "添加成功", Toast.LENGTH_SHORT).show();        } else {            Toast.makeText(this, text + "已存在", Toast.LENGTH_SHORT).show();        }    }        //清除搜索记录    public void cleanHistory(View v){        SharedPreferences sp =getSharedPreferences("search_history",0);        SharedPreferences.Editor editor=sp.edit();        editor.clear();        editor.commit();        Toast.makeText(this, "清除成功", Toast.LENGTH_SHORT).show();        super.onDestroy();    }    }

实例下载>>>>

相关文章:

储存方式之SharePreferences

AutoCompleteTextView 自动提示

更多相关文章

  1. 读取raw文件下文件内容
  2. android 设计模式相关内容
  3. Android获取软键盘输入内容
  4. 初学者关于学习android中关于实现用户输入内容有提示功能(AutoCom
  5. android 通过广播获取指定联系人短信内容
  6. 实例教程四:采用Pull解析器解析和生成XML内容
  7. Android数据传递相关内容概述
  8. AndroidManifest.xml中的内容详解
  9. android 读取raw文件下文件内容

随机推荐

  1. android 调研web services
  2. [译]Android架构组件 – 查看Room和LiveD
  3. Android(安卓)Studio 2.3使用CMake方式ND
  4. BroadcastReceiver与自定义权限
  5. Android添加新的视频格式--媒体库扫描
  6. Android设置锁屏/休眠时长
  7. android studio 首次安装配置和 gradle
  8. Android(安卓)wifi 连接设备的步骤
  9. Android(安卓)Studio Git 修改用户名、密
  10. [unity3d]Unity3D与android交互----构建a