2013-07-29 6 views
2

Как найти точные данные в sqlite database и получить его в listactivity? Я пробовал, как это, но я не получил значение.найти значение из базы данных sqlite и получить в listview

search = (EditText) findViewById(R.id.alertsearch); 

search.addTextChangedListener(new TextWatcher(){ 

     @Override 
     public void afterTextChanged(Editable s) { 
      // TODO Auto-generated method stub 
      list2.clear(); 
      db = openOrCreateDatabase(Contactsnew.DB_NAME, MODE_PRIVATE, null); 
      Cursor cTitle=db.rawQuery(" SELECT * FROM "+ Contactsnew.TABLE02 + " WHERE " 
        + Contactsnew.userid + " = " + GetSet.getUserId() + " AND " + Contactsnew.TITLE + 
        " LIKE ? " ,new String []{search.getText()+"%"}); 
      custAdapter.changeCursor(cTitle); 

      while(cTitle.moveToNext()){ 
       list2.add(cTitle.getString(2)); 
       } 
      cTitle.close(); 
     } 
+0

попробуйте этот способ: http://stackoverflow.com/a/1243378/1168654 –

+0

Что такое Contactsnew ?? –

ответ

4

В вашем sqliteconnecter создайте метод и вызовите этот метод в соответствующем классе. Теперь typr следующий код в Уре классе SQLITE,

Cursor cusror; 

cursor=db.rawQuery("SELECT * FROM "+ Contactsnew.TABLE02 + " WHERE " 
       + Contactsnew.userid + " = " + Contactsnew.userId + " AND " + Contactsnew.TITLE + 
       " LIKE '"+search.getText()+"%'"); 

Распечатайте запрос в строку и проверить, является ли вы получаете правильные значения, а затем вернуть курсор.

попробуйте это и скажите !!

3

положить ниже метод в классе базы данных:

public ArrayList<String> getlist(String search) { 

     ArrayList<String> alTasklist = new ArrayList<String>(); 

     try { 
      Cursor mCursor = db.query(true, Contactsnew.TABLE02, 
        new String[] { your field list }, SearchColumnname + "='" + search 
          + "'", null, null, null, null, null); 

      if (mCursor != null) { 
       mCursor.moveToFirst(); 
       for (int i = 0; i < mCursor.getCount(); i++) { 
        alTasklist.add(mCursor.getString(0)); 
        mCursor.moveToNext(); 
       } 
       mCursor.close(); 
       return alTasklist; 
      } 
      return alTasklist; 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 

     return alTasklist; 
    } 

Теперь получить этот метод в своей деятельности, а затем Initialize, что возвращение ArrayList в ListView ...

0

попробовать this way

или

Cursor cTitle=db.rawQuery("SELECT * FROM "+ Contactsnew.TABLE02 + " WHERE " 
        + Contactsnew.userid + " = " + GetSet.getUserId() + " AND " + Contactsnew.TITLE + 
        " LIKE '"+search.getText()+"%'"); 
Смежные вопросы