关闭

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

60人阅读 评论(0) 收藏 举报

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;
        
    }
}



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1357次
    • 积分:314
    • 等级:
    • 排名:千里之外
    • 原创:31篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章存档