将每个项目从ListView插入sqlite数据库时出现问题

时间:2012-08-01 08:16:50

标签: android database sqlite listview

我将项目插入数据库时​​出现问题。我的ListView中有6个项目并为其创建了数据库。当我单击要插入数据库的某个项目时,将插入6个项目而不是某个项目。我觉得这与我的插入代码有关。

以下是将项目插入数据库表格的插入代码。

@Override
    public void onListItemClick(ListView l, View v, int position, long id)
    {
        buddyDB.open();
        long _id;
        super.onListItemClick(l, v, position, id);

        Cursor c = ((SimpleCursorAdapter)l.getAdapter()).getCursor();
        c.moveToPosition(position);

        /*TextView contactName = (TextView) findViewById(R.id.contactName);
        String NameValue = contactName.getText().toString(); 

        TextView contactNameTwo = (TextView) findViewById(R.id.contactName);
        String NameValueTwo  = contactName.getText().toString();

        TextView contactNameThree = (TextView) findViewById(R.id.contactName);
        String NameValueThree = contactName.getText().toString();

        TextView contactNameFour = (TextView) findViewById(R.id.contactName);
        String NameValueFour = contactName.getText().toString();

        TextView contactNameFive= (TextView) findViewById(R.id.contactName);
        String NameValueFive = contactName.getText().toString();

        TextView contactNameSix = (TextView) findViewById(R.id.contactName);
        String NameValueSix = contactName.getText().toString();*/

        Toast.makeText(getBaseContext(), 
                "Selected: " + buddiesList[position], Toast.LENGTH_SHORT).show();

        _id = buddyDB.insertContact("Kanak Priya");
        _id = buddyDB.insertContact("Joanne Liew");
         _id = buddyDB.insertContact("Michelle Lam");
        _id = buddyDB.insertContact("Melissa Haiting");
        _id = buddyDB.insertContact("Teo Kin Hua");
        _id = buddyDB.insertContact("David Yeo");

        buddyDB.close();    

        Intent i = new Intent(context, PersonalInfo.class);
        startActivity(i);
    }

任何帮助将不胜感激。 =)

3 个答案:

答案 0 :(得分:0)

您插入6行:

_id = buddyDB.insertContact("Kanak Priya");
    _id = buddyDB.insertContact("Joanne Liew");
     _id = buddyDB.insertContact("Michelle Lam");
    _id = buddyDB.insertContact("Melissa Haiting");
    _id = buddyDB.insertContact("Teo Kin Hua");
    _id = buddyDB.insertContact("David Yeo");

答案 1 :(得分:0)

问题是每次单击任一列表项时都要插入六个项目。

在onListItemClick中,您需要检查在将其插入数据库之前单击了哪个联系人。

例如:

_id = buddyDB.insertContact(NameValue);

并删除代码中的六个插入语句。

答案 2 :(得分:0)

在“onListItemClick”里面试试这个,

 TextView contactName = (TextView) v.findViewById(R.id.contactName);
 String NameValue = contactName.getText().toString(); 
 id = buddyDB.insertContact(NameValue);

其中,v = View,onListItemClick的参数