2012-05-09 57 views
0

我的應用程序將收到短信,將其保存在SQLite中,然後將其顯示在我的列表中。 剩下的工作就完成了,但我無法將數據存入我的清單;我怎樣才能做到這一點?如何從SQLite添加到我的列表中

這裏就是我想:

list.setOnItemClickListener(new OnItemClickListener() { 

     public void onItemClick(AdapterView<?> arg0, View view, 
       int position, long index) { 
      // here send Recent case Object OR or Recent case info. to show case information 

     } 
    }); 

這裏是我的適配器:

public class RecentCaseListAdapter extends BaseAdapter { 
private RecentCases myPage; 
static public List<RecentCaseClass> listOfCases; 

RecentCaseClass entry; 


public RecentCaseListAdapter(RecentCases R, List<RecentCaseClass> listOfCaseParameter) { 
    this.myPage = R; 
    this.listOfCases = listOfCaseParameter; 

} 

public int getCount() { 
    return listOfCases.size(); 
} 

public Object getItem(int position) { 
    return listOfCases.get(position); 
} 

public long getItemId(int position) { 
    return position; 
} 

public View getView(int position, View convertView, ViewGroup viewGroup) { 

    entry = listOfCases.get(position); 

    if (convertView == null) { 

     LayoutInflater inflater = (LayoutInflater) myPage.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     convertView = inflater.inflate(R.layout.recent_cases_row, null); 
     } 

    // this is row items.. 
    // Set the onClick Listener on this button 

    TextView tvCase = (TextView) convertView.findViewById(R.id.tvrecentName); 
    tvCase.setText(entry.getName()); 
    TextView tvCaseInfo = (TextView) convertView.findViewById(R.id.recent_info); 
    tvCaseInfo.setText(entry.getAge()); 

    // To be a clickable button 



    return convertView; 
} 



public void add(RecentCaseClass rCaseClass) { 
    // TODO Auto-generated method stub 
    listOfCases.add(rCaseClass); 
} 


} 

,這裏是我的名單

public static List<RecentCaseClass> RecentCaseList = new ArrayList<RecentCaseClass>(); 

public static List<RecentCaseClass> getRecentCaseList() { 
    return RecentCaseList; 
} 

public static void setRecentCaseList(List<RecentCaseClass> recentCaseList) { 
    RecentCaseList = recentCaseList; 
} 

這裏,我應該添加到列表

if (SMSReceived.startsWith("Hi")) { 
      Toast.makeText(context, "Iam in hi", Toast.LENGTH_LONG) 
        .show(); 

      msg = SMSReceived; 

      RecentCaseClass rCase = run(); 
      dbAdapter.add(rCase); 

      All_Static.RecentCaseList.add(recent1); 
     } 
+1

你想了解如何從SQLite表中獲取數據到ListView中?我不清楚你有什麼問題。你有沒有試過使用SimpleCursorAdapter? – happydave

+0

您需要使用適配器來將您的數據與ListView綁定。 –

+0

@happydave請你檢查一下我的更新 – Maha

回答

0

我還不是很確定你在問什麼,所以我不知道這是否有幫助。我認爲你想大致做到以下幾點:

1)創建一個android.database.Cursor對象,通過查詢您想要放入列表中的數據 2)創建一個字符串數組,其中的列查詢你想要顯示。例如。 String[] from_list = new String[] { "title", "case" }

3)創建一個int數組,其中包含要填寫的列表行中的TextViews的id。 int[] to_list = new int[] {R.id.title, R.id.case}

4)創建一個SimpleCursorAdapter將光標映射到列表:

SimpleCursorAdapter mAdapter = new SimpleCursorAdapter (this, R.layout.list_row, mCursor, from_list, to_list); 

5)`setListAdapter(mAdapter);

這對所有人有幫助嗎?

+0

不,我做了所有的數據庫和適配器和bla bla,但是現在我的baseadapter用於我的列表和光標用於我的數據庫,問題是:我怎樣才能向用戶顯示baseadapter內的信息,你能查看我的代碼嗎?我做了這一切,我認爲我的probelm是非常小的線,但我無法得到它 – Maha