android-Android 查询功能使用一个 EditText 中的字符串

问题描述

Android 查询功能使用一个 EditText 中的字符串

Android 中的搜索功能在程序中可以执行。我使用 onSearchRequested();来调用搜索功能
现在我不想使用onSearchRequested(); 把一个字符串从一个 EditText 传递到 search 方法中,并把结果显示在list中。
当调用onSearchRequested时,search 方法可以运行。

SearchPage Activity:

 DBHelper = new DBAdapter(this);
    DBHelper.open();
    Intent intent = getIntent();
    if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
        String query = intent.getStringExtra(SearchManager.QUERY);
        showResults(query);
     }

 private void showResults(String query) {
    Cursor cursor = DBHelper.searchDB(query);
    startManagingCursor(cursor);
    String[] searchFrom = new String[] { DBAdapter.KEY_YEAR,
            DBAdapter.KEY_MAKE, DBAdapter.KEY_MODEL };
    int[] displayHere = new int[] { R.id.rYearTV, R.id.rMakeTV,
            R.id.rModelTV };
    final SimpleCursorAdapter records = new SimpleCursorAdapter(this,
            R.layout.record_2, cursor, searchFrom, displayHere);
    setListAdapter(records);

DBAdapter Activity:

  //--- 从 search 中获得 records
    public Cursor searchDB(String query) { 

    String[] parts = query.split(" "); 

    String queryString = "";
    for(int i = 0; i < parts.length; i++) {
        queryString += KEY_YEAR + " LIKE '%" + parts[i] + "%' OR ";
        queryString += KEY_MAKE + " LIKE '%" + parts[i] + "%' OR ";
        queryString += KEY_MODEL + " LIKE '%" + parts[i] + "%'";
        if(i != (parts.length - 1)) {
            queryString += " OR ";
        }
    } 

    return db.query(true, DB_TABLE,
        new String[] { KEY_ROWID, KEY_SDATE, KEY_YEAR, KEY_MAKE, KEY_MODEL },
        queryString, null, null, null, null, null);
}
    //---  从 Search 中获取 Records

我想传递一个字符串到 search 函数 String searchData = searchEditText.getText().toString();,点击 "Search"按钮,search 函数可以正常运行。如何开始?

时间: 2024-12-23 04:02:25

android-Android 查询功能使用一个 EditText 中的字符串的相关文章

rowfilter-RowFilter 模糊查询出现:Like 运算符中出错: 字符串模式“2#%门%”无效。

问题描述 RowFilter 模糊查询出现:Like 运算符中出错: 字符串模式"2#%门%"无效. dv = dt.DefaultView; sWhere += string.Format(" AND ( companyUseRange LIKE '{0}%' or GroupUseRange LIKE '%{0}%')", "2#"+par["GroupUseRangeOther"]); dv.RowFilter = sW

android-如何在一个 Edittext 中获取光标位置?

问题描述 如何在一个 Edittext 中获取光标位置? 我创建一个Android应用程序.在应用程序中,我需要找到一个edittext的光标位置.例如,我在 edittext 中输入文本 ""how are you"",如果我点击字符'a'周围,然后我就能找到'a'前面的光标.如何找出光标的位置,和光标处的字符? 解决方案 使用 getSelectionStart() 方法可以获得 Edittext 中 cursor 的当前位置.

android-在一个EditText中验证电子邮件

问题描述 在一个EditText中验证电子邮件 我想要在一个EditText中验证一个电子邮件的地址,下边的代码是我已经写了的: final EditText textMessage = (EditText)findViewById(R.id.textMessage);final TextView text = (TextView)findViewById(R.id.text); textMessage.addTextChangedListener(new TextWatcher() { pub

Android实现有道辞典查询功能实例详解_Android

本文实例讲述了Android实现有道辞典查询功能的方法.分享给大家供大家参考,具体如下: 这是我做的一个简单的有道Android的DEMO,只是简单的雏形.界面设计也有点丑陋呵呵~ 看看下面的效果图: 第一步:思路解析 从界面看一共用了三个控件EditText,Button,WebView.其实是四个,是当我们查询内容为空的时候用来提示的Toast控件. 我们在EditText输入查询内容,这里包括中文,英文.然后通过参数的形式,从http://dict.youdao.com/m取出数据把结果

android-安卓中,在一个activity中获取另一个activity中的EditText的值

问题描述 安卓中,在一个activity中获取另一个activity中的EditText的值 在一个activity中获取另一个activity中的EditText的值,两个activity之间没有跳转,有什么方法能做到吗?各位前辈帮帮忙,谢谢. 解决方案 intent传值,Intent putExtra(String name float value) 解决方案二: 安卓中从一个Activity启动另一个Activity开启另一个Activity启动另一个Activity 解决方案三: 使用S

EditText中插入图片

main.xml如下: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools

Linux统计文件中指定字符串个数的2种方法

  统计一个文件中某个字符串的个数,其实就像在一块沙地里面找一块石头,有的人看到石头以后,在上面做个标记(grep),然后记住自己做了多少个标记;有的人看到石头以后,把它跳过去(awk),然后统计自己跳了多少次. 方法1: grep 代码如下: grep -o 'keyword' my_file.txt | wc -l 方法2: awk 代码如下: awk -v RS='keyword' 'END {print –NR}' my_file.txt

android java-想做一个大学成绩等查询功能的客户端

问题描述 想做一个大学成绩等查询功能的客户端 想做一个校园客户端,实现学籍.成绩.图书等查询功能.基于android开发,我是初学者,请问大神要怎么开发,需要哪些知识? 解决方案 那就先有c++,c,的基础后直接上android

Android UI设计系列之自定义EditText实现带清除功能的输入框(3)_Android

最近公司的产品在陆续做升级,上级领导给的任务是优化代码结构以及项目架构,力争把项目写的精巧简练,于是我们满工程找冗余... 我们都知道每一个项目基本上都是有登陆页的,在登陆页中肯定是少不了输入框了,当我们在输入框中输入数据后如果输入的内容不正确或者是错误的或者是想重新输入,如果嗯键盘上的删除键就得一个一个的去删除,这时候我们或许就想要是能有一个标记当点击了这个标记能把我们刚刚输入的内容清空就好了.这样可以极大的提升用户体验,就拿QQ的登陆来说吧,效果如下: 当点击密码框右侧的小×图标时输入的内容