Android 如何获取自定义列表视图的rowID';s选定的行';谁的孩子?

Android 如何获取自定义列表视图的rowID';s选定的行';谁的孩子?,android,database,custom-lists,rowid,Android,Database,Custom Lists,Rowid,我有一个自定义列表视图,有4个文本视图和2个按钮,我通过数据库填充它们 电视名称|电视电子邮件|电视号码|电视ID(数据库主键,设置为不可见)|按钮编辑|按钮删除 我成功地从数据库中获取了id,它被设置为主键 现在我想做的是,当我按下ButtonEDIT时,它应该会烤出一条类似这样的消息 “编辑ID的选定项:”+TVID.getText().toString(),因此基本上我希望显示存储在TVID中的值(即我的数据库ID) 但当我尝试这样做时,它只显示不同行按钮的第一个ID(0),请尽快提供帮助

我有一个自定义列表视图,有4个文本视图和2个按钮,我通过数据库填充它们

电视名称|电视电子邮件|电视号码|电视ID(数据库主键,设置为不可见)|按钮编辑|按钮删除

我成功地从数据库中获取了id,它被设置为主键

现在我想做的是,当我按下ButtonEDIT时,它应该会烤出一条类似这样的消息 “编辑ID的选定项:”+TVID.getText().toString(),因此基本上我希望显示存储在TVID中的值(即我的数据库ID)

但当我尝试这样做时,它只显示不同行按钮的第一个ID(0),请尽快提供帮助

下面是链接代码

自定义ListView适配器:

package com.iwill.Database_add_display;

import java.io.ObjectOutputStream.PutField;
import java.util.ArrayList;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class MyAdapter extends BaseAdapter
{

        private ArrayList<userdetails> data;
        private static LayoutInflater minflater=null;
        private int[] userArray;
        public MyAdapter(Context context,ArrayList<userdetails> results)
        {
            data = results;
            minflater = LayoutInflater.from(context);
        }
        @Override
        public int getCount() 
        {
              return data.size();
        }

        @Override
        public Object getItem(int position) 
        {
            return data.get(position);
        }

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

        public int getUserArray(int position){
            return userArray[position];
        }


        @Override
        public View getView(final int position, View convertView, ViewGroup parent) 
        {
            ViewHolder holder;
              if (convertView == null) 
              {
                   convertView = minflater.inflate(R.layout.row, null);
                   holder = new ViewHolder();
                   holder.tvname = (TextView) convertView.findViewById(R.id.textname);
                   holder.tvemail = (TextView) convertView.findViewById(R.id.textemail);
                   holder.tvno = (TextView) convertView.findViewById(R.id.textno);
                   holder.tvID = (TextView)convertView.findViewById(R.id.textID);                  
                   holder.b1 = (Button) convertView.findViewById(R.id.btnEdit);
                   holder.b2 = (Button) convertView.findViewById(R.id.btnDelete);

                   //convertView.setTag(holder);
                   convertView.setTag(holder);
              } 
              else 
              {
                  holder = (ViewHolder) convertView.getTag();
              }
              holder.tvname.setText(data.get(position).getName());
              holder.tvemail.setText(data.get(position).getMail());
              holder.tvno.setText(data.get(position).getNo());
              holder.tvID.setText(String.valueOf(data.get(position).getID()));
              return convertView;
        }
        static class ViewHolder 
        {
              TextView tvname;
              TextView tvemail;
              TextView tvno;
              Button b1;
              Button b2;
              TextView tvID;
             }
}
package com.iwill.Database_add_display;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public class viewnameactivity extends Activity 
{
    ArrayList<userdetails> mylist = new ArrayList<userdetails>();

    private DatabaseHelper mDbHelper;
    private SQLiteDatabase mDb;
    ListView listView;
    MyAdapter adapter;
    int pos;
    @Override
    protected void onCreate(Bundle savedInstanceState) 
    {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.viewname);


        mDbHelper = new DatabaseHelper(this);

        final List<userdetails> List = mDbHelper.selectAll();
            for (int i = 0; i < List.size(); i++) 
        {
            //Log.i("List of Data....", List.get(i));
        }

        for (int j = 0; j < List.size(); j++) 
        { 
            mylist.add(List.get(j));
            Log.i("List View :", mylist.get(j).toString());
        }

        listView = (ListView)findViewById(R.id.listView);
        adapter = new MyAdapter(this,mylist);
        listView.setAdapter(adapter);
        adapter.notifyDataSetChanged();

        listView.setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent,View v,int position,long id) {

                Toast.makeText(viewnameactivity.this,"Edit button of ID : "+ adapter.getUserArray(position)+" selected.",
                        Toast.LENGTH_SHORT).show();

                pos = adapter.getUserArray(position);
            }
        });

        mDbHelper.close();   

    Button btnBack = (Button)findViewById(R.id.btnBack);
    btnBack.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            Intent i = new Intent(viewnameactivity.this,MainActivity.class);
            startActivity(i);

        }
    });

/*  Button btnEdit = (Button)findViewById(R.id.btnEdit);
    btnEdit.setOnClickListener(new OnClickListener() {

        //TextView strID = (TextView)findViewById(R.id.textID);
        //long lngID = Long.parseLong(strID.getText().toString());

        @Override
        public void onClick(View v) {
            Toast.makeText(viewnameactivity.this,"Edit button of ID :  selected.",
                    Toast.LENGTH_SHORT).show();

        }
    });

    Button btnDelete = (Button)findViewById(R.id.btndelete);

    btnDelete.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            Toast.makeText(viewnameactivity.this,"Delete button of ID :  selected.",
                    Toast.LENGTH_SHORT).show();             

        }
    });*/


    }
    public void OnClickEdit(View v){


        //TextView strID = (TextView)this.findViewById(R.id.textID);
        //long lngID = Long.parseLong(strID.getText().toString());


        Toast.makeText(viewnameactivity.this,"Edit button of ID : "+ pos +" selected.",
                Toast.LENGTH_SHORT).show();

    }

    public void OnClickDelete(View v){
        TextView strID = (TextView)findViewById(R.id.textID);
        long lngID = Long.parseLong(strID.getText().toString());        
        Toast.makeText(viewnameactivity.this,"Delete button of ID :"+ lngID + "selected.",
                Toast.LENGTH_SHORT).show(); 
    }
}
package com.iwill.Database_add_display;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;

public class DatabaseHelper 
{
    public static final String KEY_NAME = "NAME";
    public static final String KEY_MAIL = "EMAIL";
    public static final String KEY_NO ="NO";
    public static final String KEY_ID = "ID";
    private static final String DATABASE_NAME = "info.db";
    private static final int DATABASE_VERSION = 1;
    private static final String TABLE_NAME = "user";

    private static String DB_PATH = "/data/data/com.iwill.Database_add_display";   
    private static String DB_NAME = "info.db";

    private static Context context;
    private static SQLiteDatabase db;
    private static final String TAG = "MEDIA";
    public DatabaseHelper(Context context) 
    {
        this.context = context;
        OpenHelper openHelper = new OpenHelper(this.context);
        this.db = openHelper.getWritableDatabase();
        //this.insertStmt = this.db.compileStatement(INSERT);
    }
    public long insert(String uname,String mail,String no)
    {

        ContentValues CV = new ContentValues();
        CV.put(KEY_NAME, uname);
        CV.put(KEY_MAIL , mail);
        CV.put(KEY_NO, no);
        long rawId =  db.insert(TABLE_NAME, null, CV);
        return rawId;
    }
    public void update(long _ID,String updateuname,String updatemail,String updateno)
    {
        Log.i("tag","_ID"+_ID);
        ContentValues cvupdate=new ContentValues();
        cvupdate.put(KEY_NAME,updateuname);
        cvupdate.put(KEY_MAIL, updatemail);
        cvupdate.put(KEY_NO, updateno);
        db.update(TABLE_NAME, cvupdate, "_id"+" = ?",new String[]{String.valueOf(_ID)});
        Log.i("tag", "Item Updated Database Helper");
    }

    public void delete(long _ID)
       {   
           this.db.delete(TABLE_NAME, "_id"+" = ?", new String[]{String.valueOf(_ID)});
           Log.i("tag", "Item deleted");
       }

     public List<userdetails> selectAll(){
         List<userdetails> list = new ArrayList<userdetails>();
         Cursor cursor = this.db.query(TABLE_NAME, new String[] {"_id", "NAME", "EMAIL", "NO"},
                 null, null, null, null, "_id asc");
         if(cursor.moveToFirst()){
             do {
                   userdetails usd= new userdetails();
                   usd.setName(cursor.getString(1));
                   usd.setMail(cursor.getString(2));
                   usd.setNo(cursor.getString(3));
                   usd.setID(cursor.getLong(0));
                   list.add(usd);

             } while (cursor.moveToNext());
         }
         if (cursor != null && !cursor.isClosed()) {
             cursor.close();
          }
         return list;
     } 

     public void close(){
            db.close();
        } 

     public List<String> selectAllid(){
         List<String> list = new ArrayList<String>();
         Cursor cursor = this.db.query(TABLE_NAME, new String[] {"_id", "NAME"},
                 null, null, null, null, "_id asc");
         if(cursor.moveToFirst()){
             do {
                   //list.add(cursor.getInt(0) + " "+cursor.getString(1));  
                   list.add(cursor.getString(0));
                   Log.i("List 0 (id)....", cursor.getString(0));
                   Log.i("List 1 (URL)....", cursor.getString(1));

             } while (cursor.moveToNext());
         }
         if (cursor != null && !cursor.isClosed()) {
             cursor.close();
          }
         return list;
     } 

     // TESTING

    private static class OpenHelper extends SQLiteOpenHelper
    {

        public OpenHelper(Context context) 
        {
            super(context, DATABASE_NAME, null, DATABASE_VERSION);
            // TODO Auto-generated constructor stub
        }

        @Override
        public void onCreate(SQLiteDatabase db) 
        {
            // TODO Auto-generated method stub
            String str = "CREATE TABLE IF NOT EXISTS user(_id INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT,EMAIL TEXT,NO TEXT)";
            db.execSQL(str);            
        }

        private boolean checkDatabase(){
            SQLiteDatabase checkDB = null;
            try{
                String myPath = DB_PATH + DB_NAME;
                checkDB = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READWRITE);  
            }catch(SQLiteException e){
                //database does't exist yet.
            }

            if(checkDB != null){
                checkDB.close();
            }
            return checkDB != null ? true : false;

        }
        public void createNewDatabase() {
              InputStream assetsDB = null;
              try {
                  assetsDB = context.getAssets().open(DB_NAME);
                  OutputStream dbOut = new FileOutputStream(DB_PATH + DB_NAME);

                  byte[] buffer = new byte[1024];
                  int length;
                  while ((length = assetsDB.read(buffer)) > 0) {
                      dbOut.write(buffer, 0, length);
                  }

                  dbOut.flush();
                  dbOut.close();
                  assetsDB.close();
                  Log.i("New Database created.......", "New database created...");
              } catch (IOException e) {
                  Log.e("Could not create new database...", "Could not create new database...");
                  e.printStackTrace();
              }
       }
        @Override
        public synchronized void close() {
            if(db != null){
                db.close();
            super.close();
            }   
        }
        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) 
        {
             //Log.w("Example", "Upgrading database, this will drop tables and recreate.");
             db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
             onCreate(db);
        }
    }

}
package com.iwill.Database\u add\u显示;
导入java.io.ObjectOutputStream.PutField;
导入java.util.ArrayList;
导入android.content.Context;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.view.OnClickListener;
导入android.view.ViewGroup;
导入android.widget.BaseAdapter;
导入android.widget.Button;
导入android.widget.TextView;
导入android.widget.Toast;
公共类MyAdapter扩展了BaseAdapter
{
私有数组列表数据;
私有静态LayoutInflater minflater=null;
私有int[]用户数组;
公共MyAdapter(上下文、ArrayList结果)
{
数据=结果;
minflater=LayoutInflater.from(上下文);
}
@凌驾
public int getCount()
{
返回data.size();
}
@凌驾
公共对象getItem(int位置)
{
返回数据。获取(位置);
}
@凌驾
公共长getItemId(int位置)
{
返回位置;
}
公共int getUserArray(int位置){
返回userArray[position];
}
@凌驾
公共视图getView(最终整数位置、视图转换视图、视图组父视图)
{
视窗座;
if(convertView==null)
{
convertView=minflater.充气(R.layout.row,空);
holder=新的ViewHolder();
holder.tvname=(TextView)convertView.findViewById(R.id.textname);
holder.tvemail=(TextView)convertView.findViewById(R.id.textemail);
holder.tvno=(TextView)convertView.findViewById(R.id.textno);
holder.tvID=(TextView)convertView.findViewById(R.id.textID);
holder.b1=(按钮)convertView.findViewById(R.id.btnEdit);
holder.b2=(按钮)convertView.findViewById(R.id.btnDelete);
//convertView.setTag(支架);
convertView.setTag(支架);
} 
其他的
{
holder=(ViewHolder)convertView.getTag();
}
holder.tvname.setText(data.get(position.getName());
holder.tvemail.setText(data.get(position.getMail());
holder.tvno.setText(data.get(position.getNo());
holder.tvID.setText(String.valueOf(data.get(position.getID()));
返回视图;
}
静态类视窗夹
{
文本视图tvname;
TextView-tvmail;
文本视图tvno;
按钮b1;
按钮b2;
文本视图tvID;
}
}
列表活动:

package com.iwill.Database_add_display;

import java.io.ObjectOutputStream.PutField;
import java.util.ArrayList;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class MyAdapter extends BaseAdapter
{

        private ArrayList<userdetails> data;
        private static LayoutInflater minflater=null;
        private int[] userArray;
        public MyAdapter(Context context,ArrayList<userdetails> results)
        {
            data = results;
            minflater = LayoutInflater.from(context);
        }
        @Override
        public int getCount() 
        {
              return data.size();
        }

        @Override
        public Object getItem(int position) 
        {
            return data.get(position);
        }

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

        public int getUserArray(int position){
            return userArray[position];
        }


        @Override
        public View getView(final int position, View convertView, ViewGroup parent) 
        {
            ViewHolder holder;
              if (convertView == null) 
              {
                   convertView = minflater.inflate(R.layout.row, null);
                   holder = new ViewHolder();
                   holder.tvname = (TextView) convertView.findViewById(R.id.textname);
                   holder.tvemail = (TextView) convertView.findViewById(R.id.textemail);
                   holder.tvno = (TextView) convertView.findViewById(R.id.textno);
                   holder.tvID = (TextView)convertView.findViewById(R.id.textID);                  
                   holder.b1 = (Button) convertView.findViewById(R.id.btnEdit);
                   holder.b2 = (Button) convertView.findViewById(R.id.btnDelete);

                   //convertView.setTag(holder);
                   convertView.setTag(holder);
              } 
              else 
              {
                  holder = (ViewHolder) convertView.getTag();
              }
              holder.tvname.setText(data.get(position).getName());
              holder.tvemail.setText(data.get(position).getMail());
              holder.tvno.setText(data.get(position).getNo());
              holder.tvID.setText(String.valueOf(data.get(position).getID()));
              return convertView;
        }
        static class ViewHolder 
        {
              TextView tvname;
              TextView tvemail;
              TextView tvno;
              Button b1;
              Button b2;
              TextView tvID;
             }
}
package com.iwill.Database_add_display;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public class viewnameactivity extends Activity 
{
    ArrayList<userdetails> mylist = new ArrayList<userdetails>();

    private DatabaseHelper mDbHelper;
    private SQLiteDatabase mDb;
    ListView listView;
    MyAdapter adapter;
    int pos;
    @Override
    protected void onCreate(Bundle savedInstanceState) 
    {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.viewname);


        mDbHelper = new DatabaseHelper(this);

        final List<userdetails> List = mDbHelper.selectAll();
            for (int i = 0; i < List.size(); i++) 
        {
            //Log.i("List of Data....", List.get(i));
        }

        for (int j = 0; j < List.size(); j++) 
        { 
            mylist.add(List.get(j));
            Log.i("List View :", mylist.get(j).toString());
        }

        listView = (ListView)findViewById(R.id.listView);
        adapter = new MyAdapter(this,mylist);
        listView.setAdapter(adapter);
        adapter.notifyDataSetChanged();

        listView.setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent,View v,int position,long id) {

                Toast.makeText(viewnameactivity.this,"Edit button of ID : "+ adapter.getUserArray(position)+" selected.",
                        Toast.LENGTH_SHORT).show();

                pos = adapter.getUserArray(position);
            }
        });

        mDbHelper.close();   

    Button btnBack = (Button)findViewById(R.id.btnBack);
    btnBack.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            Intent i = new Intent(viewnameactivity.this,MainActivity.class);
            startActivity(i);

        }
    });

/*  Button btnEdit = (Button)findViewById(R.id.btnEdit);
    btnEdit.setOnClickListener(new OnClickListener() {

        //TextView strID = (TextView)findViewById(R.id.textID);
        //long lngID = Long.parseLong(strID.getText().toString());

        @Override
        public void onClick(View v) {
            Toast.makeText(viewnameactivity.this,"Edit button of ID :  selected.",
                    Toast.LENGTH_SHORT).show();

        }
    });

    Button btnDelete = (Button)findViewById(R.id.btndelete);

    btnDelete.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            Toast.makeText(viewnameactivity.this,"Delete button of ID :  selected.",
                    Toast.LENGTH_SHORT).show();             

        }
    });*/


    }
    public void OnClickEdit(View v){


        //TextView strID = (TextView)this.findViewById(R.id.textID);
        //long lngID = Long.parseLong(strID.getText().toString());


        Toast.makeText(viewnameactivity.this,"Edit button of ID : "+ pos +" selected.",
                Toast.LENGTH_SHORT).show();

    }

    public void OnClickDelete(View v){
        TextView strID = (TextView)findViewById(R.id.textID);
        long lngID = Long.parseLong(strID.getText().toString());        
        Toast.makeText(viewnameactivity.this,"Delete button of ID :"+ lngID + "selected.",
                Toast.LENGTH_SHORT).show(); 
    }
}
package com.iwill.Database_add_display;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;

public class DatabaseHelper 
{
    public static final String KEY_NAME = "NAME";
    public static final String KEY_MAIL = "EMAIL";
    public static final String KEY_NO ="NO";
    public static final String KEY_ID = "ID";
    private static final String DATABASE_NAME = "info.db";
    private static final int DATABASE_VERSION = 1;
    private static final String TABLE_NAME = "user";

    private static String DB_PATH = "/data/data/com.iwill.Database_add_display";   
    private static String DB_NAME = "info.db";

    private static Context context;
    private static SQLiteDatabase db;
    private static final String TAG = "MEDIA";
    public DatabaseHelper(Context context) 
    {
        this.context = context;
        OpenHelper openHelper = new OpenHelper(this.context);
        this.db = openHelper.getWritableDatabase();
        //this.insertStmt = this.db.compileStatement(INSERT);
    }
    public long insert(String uname,String mail,String no)
    {

        ContentValues CV = new ContentValues();
        CV.put(KEY_NAME, uname);
        CV.put(KEY_MAIL , mail);
        CV.put(KEY_NO, no);
        long rawId =  db.insert(TABLE_NAME, null, CV);
        return rawId;
    }
    public void update(long _ID,String updateuname,String updatemail,String updateno)
    {
        Log.i("tag","_ID"+_ID);
        ContentValues cvupdate=new ContentValues();
        cvupdate.put(KEY_NAME,updateuname);
        cvupdate.put(KEY_MAIL, updatemail);
        cvupdate.put(KEY_NO, updateno);
        db.update(TABLE_NAME, cvupdate, "_id"+" = ?",new String[]{String.valueOf(_ID)});
        Log.i("tag", "Item Updated Database Helper");
    }

    public void delete(long _ID)
       {   
           this.db.delete(TABLE_NAME, "_id"+" = ?", new String[]{String.valueOf(_ID)});
           Log.i("tag", "Item deleted");
       }

     public List<userdetails> selectAll(){
         List<userdetails> list = new ArrayList<userdetails>();
         Cursor cursor = this.db.query(TABLE_NAME, new String[] {"_id", "NAME", "EMAIL", "NO"},
                 null, null, null, null, "_id asc");
         if(cursor.moveToFirst()){
             do {
                   userdetails usd= new userdetails();
                   usd.setName(cursor.getString(1));
                   usd.setMail(cursor.getString(2));
                   usd.setNo(cursor.getString(3));
                   usd.setID(cursor.getLong(0));
                   list.add(usd);

             } while (cursor.moveToNext());
         }
         if (cursor != null && !cursor.isClosed()) {
             cursor.close();
          }
         return list;
     } 

     public void close(){
            db.close();
        } 

     public List<String> selectAllid(){
         List<String> list = new ArrayList<String>();
         Cursor cursor = this.db.query(TABLE_NAME, new String[] {"_id", "NAME"},
                 null, null, null, null, "_id asc");
         if(cursor.moveToFirst()){
             do {
                   //list.add(cursor.getInt(0) + " "+cursor.getString(1));  
                   list.add(cursor.getString(0));
                   Log.i("List 0 (id)....", cursor.getString(0));
                   Log.i("List 1 (URL)....", cursor.getString(1));

             } while (cursor.moveToNext());
         }
         if (cursor != null && !cursor.isClosed()) {
             cursor.close();
          }
         return list;
     } 

     // TESTING

    private static class OpenHelper extends SQLiteOpenHelper
    {

        public OpenHelper(Context context) 
        {
            super(context, DATABASE_NAME, null, DATABASE_VERSION);
            // TODO Auto-generated constructor stub
        }

        @Override
        public void onCreate(SQLiteDatabase db) 
        {
            // TODO Auto-generated method stub
            String str = "CREATE TABLE IF NOT EXISTS user(_id INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT,EMAIL TEXT,NO TEXT)";
            db.execSQL(str);            
        }

        private boolean checkDatabase(){
            SQLiteDatabase checkDB = null;
            try{
                String myPath = DB_PATH + DB_NAME;
                checkDB = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READWRITE);  
            }catch(SQLiteException e){
                //database does't exist yet.
            }

            if(checkDB != null){
                checkDB.close();
            }
            return checkDB != null ? true : false;

        }
        public void createNewDatabase() {
              InputStream assetsDB = null;
              try {
                  assetsDB = context.getAssets().open(DB_NAME);
                  OutputStream dbOut = new FileOutputStream(DB_PATH + DB_NAME);

                  byte[] buffer = new byte[1024];
                  int length;
                  while ((length = assetsDB.read(buffer)) > 0) {
                      dbOut.write(buffer, 0, length);
                  }

                  dbOut.flush();
                  dbOut.close();
                  assetsDB.close();
                  Log.i("New Database created.......", "New database created...");
              } catch (IOException e) {
                  Log.e("Could not create new database...", "Could not create new database...");
                  e.printStackTrace();
              }
       }
        @Override
        public synchronized void close() {
            if(db != null){
                db.close();
            super.close();
            }   
        }
        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) 
        {
             //Log.w("Example", "Upgrading database, this will drop tables and recreate.");
             db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
             onCreate(db);
        }
    }

}
package com.iwill.Database\u add\u显示;
导入java.util.ArrayList;
导入java.util.List;
导入android.app.Activity;
导入android.content.Intent;
导入android.database.Cursor;
导入android.database.sqlite.SQLiteDatabase;
导入android.os.Bundle;
导入android.util.Log;
导入android.view.view;
导入android.view.view.OnClickListener;
导入android.widget.AdapterView;
导入android.widget.AdapterView.OnItemClickListener;
导入android.widget.Button;
导入android.widget.ListView;
导入android.widget.TextView;
导入android.widget.Toast;
公共类viewnameactivity扩展了活动
{
ArrayList mylist=新的ArrayList();
私有数据库助手mDbHelper;
私有数据库mDb;
列表视图列表视图;
MyAdapter适配器;
int pos;
@凌驾
创建时受保护的void(Bundle savedInstanceState)
{
//TODO自动生成的方法存根
super.onCreate(savedInstanceState);
setContentView(R.layout.viewname);
mDbHelper=新数据库助手(此);
最终列表列表=mDbHelper.selectAll();
对于(int i=0;i