Android:如何提取一行两列的数据

Android:如何提取一行两列的数据,android,Android,这是我的搜索活动代码 search.addTextChangedListener(new TextWatcher() { public void afterTextChanged(Editable s) { // Abstract Method of TextWatcher Interface. } public void beforeTextC

这是我的搜索活动代码

search.addTextChangedListener(new TextWatcher()
  {
  public void afterTextChanged(Editable s)
  {
                                                                  // Abstract Method of TextWatcher Interface.
  }
  public void beforeTextChanged(CharSequence s,
  int start, int count, int after)
  {
  // Abstract Method of TextWatcher Interface.
  }
  public void onTextChanged(CharSequence s,
  int start, int before, int count)
  {
  textlength = search.getText().length();
  array_sort.clear();
  for (int i = 0; i < listview_array.length; i++)
  {
  if (textlength <= listview_array[i].length())
  {
  if(search.getText().toString().equalsIgnoreCase(
  (String)
  listview_array[i].subSequence(0,
  textlength)))
  {
      array_sort.add(listview_array[i]);
      }
   }}

  listContent1.setAdapter(new ArrayAdapter<String>
  (Search_Food.this,
  android.R.layout.simple_list_item_1, array_sort));
  }

  });
我的数据库适配器

public LinkedList<String> search(String string) {
    // TODO Auto-generated method stub
    LinkedList<String> results = new LinkedList<String>();
    Cursor cursor = null;
    String search = string;
    try{
        cursor = this.sqLiteDatabase.query(true, MYDATABASE_TABLE , new String[] { KEY_ID , KEY_FOODNAME , KEY_CALORIES  }, KEY_FOODNAME  + " = ?" + "COLLATE NOCASE", 
                new String[] { search }, null, null, null, null);

        if(cursor!=null && cursor.getCount()>0 && cursor.moveToFirst()){

            int foodName = cursor.getColumnIndex(KEY_FOODNAME );
            int keyColories = cursor.getColumnIndex(KEY_CALORIES );

           // boolean moveToNext = cursor.moveToNext();
            //do{
                results.add(
                    new String(

                       cursor.getString(foodName) + "                              " +
                        cursor.getString(keyColories)
                    )
                );
            //}while(moveToNext);
        }
    }catch(Exception e){
        Log.e(APP_NAME, "An error occurred while searching for "+search+": "+e.toString(), e);
    }finally{
        if(cursor!=null && !cursor.isClosed()){
            cursor.close();
        }
    }

    return results;
}
公共链接列表搜索(字符串){
//TODO自动生成的方法存根
LinkedList结果=新建LinkedList();
游标=空;
字符串搜索=字符串;
试一试{
cursor=this.sqLiteDatabase.query(true,MYDATABASE_表,新字符串[]{KEY_ID,KEY_FOODNAME,KEY_carries},KEY_FOODNAME+“=?”+“COLLATE NOCASE”,
新字符串[]{search},null,null,null,null);
if(cursor!=null&&cursor.getCount()>0&&cursor.moveToFirst()){
int foodName=cursor.getColumnIndex(KEY_foodName);
int keyColories=cursor.getColumnIndex(KEY_);
//布尔moveToNext=cursor.moveToNext();
//做{
结果。添加(
新字符串(
cursor.getString(foodName)+“”+
cursor.getString(keyColories)
)
);
//}while(moveToNext);
}
}捕获(例外e){
Log.e(APP_NAME,“搜索“+search+”:“+e.toString(),e”时出错);
}最后{
if(cursor!=null&!cursor.isClosed()){
cursor.close();
}
}
返回结果;
}
现在,当我在搜索的listview上单击一个数据时,我想将getitemposition提取为2,这就是我的列。食物名称和卡路里。如何将这两个值分开


请回答。帮助谢谢你

你已经得到答案了吗?没有,先生@festustamakloe应该使用SimpleCursorAdapter而不是ArrayAdapter。@HoanNguyen那里我该如何使用SimpleCursorAdapter?“救命?”FestusTamakloe先生,我又给你发电子邮件了
public LinkedList<String> search(String string) {
    // TODO Auto-generated method stub
    LinkedList<String> results = new LinkedList<String>();
    Cursor cursor = null;
    String search = string;
    try{
        cursor = this.sqLiteDatabase.query(true, MYDATABASE_TABLE , new String[] { KEY_ID , KEY_FOODNAME , KEY_CALORIES  }, KEY_FOODNAME  + " = ?" + "COLLATE NOCASE", 
                new String[] { search }, null, null, null, null);

        if(cursor!=null && cursor.getCount()>0 && cursor.moveToFirst()){

            int foodName = cursor.getColumnIndex(KEY_FOODNAME );
            int keyColories = cursor.getColumnIndex(KEY_CALORIES );

           // boolean moveToNext = cursor.moveToNext();
            //do{
                results.add(
                    new String(

                       cursor.getString(foodName) + "                              " +
                        cursor.getString(keyColories)
                    )
                );
            //}while(moveToNext);
        }
    }catch(Exception e){
        Log.e(APP_NAME, "An error occurred while searching for "+search+": "+e.toString(), e);
    }finally{
        if(cursor!=null && !cursor.isClosed()){
            cursor.close();
        }
    }

    return results;
}