如何使用数据库中的id将其用于ListAdapter?
【腾讯云】亏本大甩卖,服务器4核16G 1年370元(带宽12M,系统盘120GB SSD盘,月流量2000GB)!!!!!!
云产品 配置 价格
服务器 1核2G,带宽5M,系统盘50GB SSD盘,月流量500GB 38元/年
MySQL 1核1G 19元/年
服务器 16核32G,带宽18M,系统盘250GB SSD盘,月流量5000GB 1197元/年
点我进入腾讯云,查看更多详情

So I am using a ListActivity to see every records information except _id from the db. How can I place id from the database to a ListAdapter and use it to Delete the same id record from the database?

Scroll down to see my script.

import java.util.ArrayList;

import android.app.ListActivity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.TextView;
import android.widget.Toast;

public class PrivateHistory extends ListActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

        ArrayList<String> results = new ArrayList<String>();
        final ArrayList<String> resultsID = new ArrayList<String>();

        DatabaseHelper dbHelper = new DatabaseHelper(this);
        final SQLiteDatabase db = dbHelper.getReadableDatabase();

        try {
            Cursor c = db.rawQuery("SELECT * FROM pocket", null);

            if(c != null ) {
                if(c.moveToLast()) {
                    do {
                        String incompleteDate = c.getString(c.getColumnIndex("date"));
                        String year = incompleteDate.substring(0, 4);
                        String month = incompleteDate.substring(5, 7);
                        String day = incompleteDate.substring(8, 10);
                        String date = day + "-" + month + "-" + year;

                        String id = c.getString(c.getColumnIndex("_id"));
                        String time = c.getString(c.getColumnIndex("time"));
                        String income = c.getString(c.getColumnIndex("income"));
                        String cost = c.getString(c.getColumnIndex("cost"));

                        if(income.equals("0.00")){
                            resultsID.add(id);
                            results.add("Date:" + date + " Time:" + time +"\nCost\t\t: € -" + cost);
                        }

                        if (cost.equals("0.00")){
                            resultsID.add(id);
                            results.add("Date:" + date + " Time:" + time +"\nIncome\t: € " + income);
                        }
                    }while (c.moveToPrevious());
                } 
            }
            ListView lv = getListView();
            lv.setOnItemClickListener(new OnItemClickListener() {

                public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
                    Toast.makeText(getApplicationContext(), ((TextView) view).getText(),          Toast.LENGTH_SHORT).show();
                }
            });

            this.setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,results));

        } catch (SQLiteException se ) {
            Log.e(getClass().getSimpleName(), "Could not create or Open the database");
        }
}

}

#0

Use this in your onItemClickMethod to delete the row that was clicked from the database

SQLiteDatabase dbase = dbHelper.getWritableDatabase(); dbase.delete("pocket", "_ID=?", new String[] {String.valueOf(position)});

推荐文章

IE9 64bit中的Magento AJAX问题-使用简单的可配置产品插件

IE9 64bit中的Magento AJAX问题-使用简单的可配置产品插件

推荐文章

ASP的URL问题ASP.NET

ASP的URL问题ASP.NET

推荐文章

如果值超过单元格宽度,则合并单元格

如果值超过单元格宽度,则合并单元格

推荐文章

Node.js/快递路由到静态文件URL

Node.js/快递路由到静态文件URL

推荐文章

SQL Server 2008维护

SQL Server 2008维护

推荐文章

关于jQuery fn声明

关于jQuery fn声明

推荐文章

带有列表视图的复选框选择

带有列表视图的复选框选择

推荐文章

Xcode 4.0.2安装后未启动

Xcode 4.0.2安装后未启动

推荐文章

无法在屏幕上看到视图

无法在屏幕上看到视图

推荐文章

当实现类被密封时重写单个接口方法

当实现类被密封时重写单个接口方法

推荐文章

如何实现自定义jqGrid delete按钮?

如何实现自定义jqGrid delete按钮?

推荐文章

网页上两个相同的Google+1按钮出现问题

网页上两个相同的Google+1按钮出现问题

推荐文章

如何访问服务中的变量

如何访问服务中的变量

推荐文章

设置背景文本

设置背景文本

推荐文章

IE 8.0中忽略的div宽度

IE 8.0中忽略的div宽度

推荐文章

IntelliJ强制代码格式化程序基于换行设置连接行

IntelliJ强制代码格式化程序基于换行设置连接行