android将id从数据库传递给arraylist

时间:2014-03-31 17:58:20

标签: android database listview

我正在进行listview并从数据库中获取数据..每个视图或行都有来自数据库的值

但是如何将id也从数据库传递到列表视图

所以,当我点击一个视图时,我会获得ID并执行我的操作(删除...其中id = ...)

this how it looks

这是我的代码谢谢:

private void setAdapter() {


dbHelper=new DatabaseHelper(this);
Cursor c = dbHelper.getcursor("M_table","M_title");
String s="";
Integer i=0;
ArrayList<String> values = new ArrayList<String>();
if (c != null ) {
if  (c.moveToFirst()) {
do {
i++;
int Mid = c.getInt(c.getColumnIndex("Mid"));
String M_title = c.getString(c.getColumnIndex("M_title"));






values.add(M_title);  



}while (c.moveToNext());
}
}


ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.listview,values);

setListAdapter(adapter);
adapter.notifyDataSetChanged();
}

1 个答案:

答案 0 :(得分:0)

首先,你必须将你的id存储在listview XML文件中。有一个像这样的字段,后跟你的其他字段。

<TextView android:id="@+id/tv_Id" android:layout_width="fill_parent" android:layout_height="wrap_content" android:visibility="gone" />

然后在适配器代码中,您必须从此字段中检索id并使用包将其传递给下一个活动。

public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {
            String clickid = ((TextView) view.findViewById(R.id.tv_Id))
                    .getText().toString();

            Bundle job_info = new Bundle();
            id_info.putString("key", clickid);
            Intent i = new Intent(CurrentActivity.this, NextActivity.class);
            i.putExtras(id_info);
            startActivity(i);
        }