0

我在将项目插入数据库时​​遇到问题。我的 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);
    }

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

4

3 回答 3

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");
于 2012-08-01T08:18:44.543 回答
0

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

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

例如:

_id = buddyDB.insertContact(NameValue);

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

于 2012-08-01T08:27:50.463 回答
0

在“onListItemClick”中试试这个,

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

其中,v = View,onListItemClick 的参数

于 2012-08-01T08:41:57.690 回答