二级列表和文章里的关键字变红还有数据库的模糊查询

原创 2016年06月01日 10:39:47

public class TwoMainActivityextends Activity {

    private ExpandableListView expand_id;
    private Dao dao;
    private List<User> list2;
    private ArrayList<String> firstlist;
    private ArrayList<List<String>> twolist;
    private ArrayList<String> two;
    private String keywork;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_two_main);
        expand_id = (ExpandableListView)findViewById(R.id.expandli);
        Intent intent = getIntent();
        keywork = intent.getStringExtra("keywork");
    //    Toast.makeText(this,keywork, 0).show();
        getData(keywork);
        getAdapter();
    }
    private void getData(String keywork) {
        dao=new Dao(TwoMainActivity.this);
        list2 = dao.select2(keywork);
        firstlist = new ArrayList<String>();
        twolist = new ArrayList<List<String>>();        
        for (int i = 0; i < list2.size(); i++) {
            firstlist.add(list2.get(i).timu);    
            two = new ArrayList<String>();
            two.add(list2.get(i).daan);
            twolist.add(two);    
        }    
    }
    
private void getAdapter() {
    expand_id.setAdapter(new BaseExpandableListAdapter() {
        private SpannableStringBuilder builder;
        @Override
        public int getGroupCount() {
            // TODO Auto-generated method stub
            return firstlist.size();
        }
        @Override
        public int getChildrenCount(int arg0) {
            // TODO Auto-generated method stub
            return twolist.get(arg0).size();
        }
        
        @Override
        public View getGroupView(int arg0, boolean arg1, View arg2, ViewGroup arg3) {
            // TODO Auto-generated method stub
            View view = View.inflate(TwoMainActivity.this, android.R.layout.simple_list_item_1, null);
            TextView text1 = (TextView)view.findViewById(android.R.id.text1);
            String text="";
            text = (arg0+1)+"、"+firstlist.get(arg0).toString();
            SpannableStringBuilder builder =null;            
                if(!"".equals(keywork)&&keywork!=null){
                    builder = new SpannableStringBuilder(text);
                    ForegroundColorSpan redSpan = new ForegroundColorSpan(Color.RED);
                    builder.setSpan(redSpan, text.toLowerCase().indexOf(keywork.toLowerCase()), text.toLowerCase().indexOf(keywork.toLowerCase())+keywork.length(), Spannable.SPAN_INCLUSIVE_EXCLUSIVE);

                }
                
            text1.setText(builder);
            return view;
        }
        @Override
        public View getChildView(int arg0, int arg1, boolean arg2, View arg3,
                ViewGroup arg4) {
            // TODO Auto-generated method stub
            View view = View.inflate(TwoMainActivity.this, android.R.layout.simple_list_item_1, null);
            TextView text1 = (TextView)view.findViewById(android.R.id.text1);
            text1.setText(twolist.get(arg0).get(arg1));
            return view;
        }
        @Override
        public boolean isChildSelectable(int arg0, int arg1) {
            // TODO Auto-generated method stub
            return false;
        }
        @Override
        public boolean hasStableIds() {
            // TODO Auto-generated method stub
            return false;
        }    
        @Override
        public long getGroupId(int arg0) {
            // TODO Auto-generated method stub
            return 0;
        }
            
        @Override
        public Object getGroup(int arg0) {
            // TODO Auto-generated method stub
            return null;
        }
        @Override
        public long getChildId(int arg0, int arg1) {
            // TODO Auto-generated method stub
            return 0;
        }
        
        @Override
        public Object getChild(int arg0, int arg1) {
            // TODO Auto-generated method stub
            return null;
        }
    });
}

}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

public class Dao {
    private Mysqlite my;
    private SQLiteDatabase db;
    private List<User> list;
    private ArrayList<User> str;

    public Dao(Context context){
        my = new Mysqlite(context);
    }
    public void insert(String timu,String daan,String biaoji){
        db = my.getReadableDatabase();
        ContentValues values=new ContentValues();
        values.put("timu", timu);
        values.put("daan", daan);
        values.put("biaoji", biaoji);
        db.insert("user", null, values);
        db.close();
    }
    public List<User> select(String biaoji){
        list = new ArrayList<User>();
        db = my.getReadableDatabase();
//    Cursor query = db.rawQuery("select * from user where biaoji like '%"+biaoji+"%'", null);
        Cursor query = db.query("user", new String[]{"timu","daan"}, "biaoji=?", new String[]{biaoji}, null, null, null, null);
        Log.i("zzz", query.toString());
        while (query.moveToNext()) {
            String timu = query.getString(query.getColumnIndex("timu"));
            String daan = query.getString(query.getColumnIndex("daan"));
            list.add(new User(timu, daan));
        }
        return list;
    }
    public List<User> select2(String keywords){
        str = new ArrayList<User>();
        db = my.getReadableDatabase();
        Cursor query = db.query("user",  new String[]{"timu","daan"}, "timu like '%"+keywords.trim()+"%'", null, null, null, null);
        while (query.moveToNext()) {
            String timu = query.getString(query.getColumnIndex("timu"));
            String daan = query.getString(query.getColumnIndex("daan"));
            str.add(new User(timu, daan));
        }
        return str;
        
    }
}



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

安卓快速实现关键字变色,搜索字变红,点击字体打电话,textview斜体,电商价格删除线,绿色下划线,图片(表情,图文混排) textview超链接跳转

安卓快速实现关键字变色,搜索字变红,点击字体打电话,textview斜体,电商价格删除线,绿色下划线,图片(表情,图文混排) textview超链接跳转

从数据库中获取值填入下拉列表,然后做二级关联所产生的一系列问题

今晚因为需要研究jquery动态绑定两个下拉列表框,并且使两个下拉列表框联系起来,所以做了下小例子 首先,创建了两张表 每个表里包含两个字段,一个id,一个名字 插入了一些数据,两张表通过ID进...

Select下拉列表类(支持输入模糊查询)

可输入的下拉框 var j = 0; function SelectValue(obj) { var input = obj.parentNode...

SQL 多字段模糊匹配关键字查询

http://www.west.cn/info/html/wangluobiancheng/Mssql/20080505/72303.html 我们开发数据库应用时,常常需要用到模糊...

oracle Like模糊查询与带有关键字Reverse的索引应用

在对oracle的SQL优化过程中经常会遇到【like'%abc'】破坏索引的问题,但是如果真有此类需求,该如何在不破坏索引的基础上进行查询呢。 上代码 sys@mescp> se...

android SQLiteOpenHelper操作数据库 搜索关键字列表应用

package com.EleMenu_YuanXu_v12.DB; import java.util.HashSet; import java.util.Iterator; impor...

jquery模糊查询 结果列表可以分页

【jquery 加载xml格式数据并实现模糊查询 有分页效果】 1、此代码只支持xml 格式数据,根据不同需求修改ajax的success方法就ok了 2、此代码只是针对ajax只需一次请求的情况下 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)