0

我正在尝试使用按钮删除数据库中的单个玩家。

 save.setOnClickListener(new OnClickListener(){

            public void onClick(View v) {

                db.addContact(new PlayerData(name,score));
                Log.d("Insert: ", "Inserting .."); 

            } 
      });



          load.setOnClickListener(new OnClickListener(){

                public void onClick(View v) {

                    thedb = (ArrayList<PlayerData>) db.getAllContacts();
                    String showName = db.getContact(8).getName();
                    int showScore = db.getContact(8).getscore();
                    saved.setText("Player Name: "+showName+" Player Score: "+showScore);

                } 
          });


          delete.setOnClickListener(new OnClickListener(){

                public void onClick(View v) {

                    db.deleteContact();


                } 
          });

但是,在删除按钮中,db.deletecontact(); 上显示错误;

我不知道如何删除它,因为我的一个朋友刚刚给了我数据库管理器的代码。

这是来自 DatabaseManager 的片段。

    public void deleteContact(PlayerData contact) {
    SQLiteDatabase db = this.getWritableDatabase();
    db.delete(TABLE_CONTACTS, KEY_ID + " = ?",
            new String[] { String.valueOf(contact.getID()) });
    db.close();
}

db.deleteContact(); 需要一个或多个参数,但我不知道该放什么。请帮忙。

4

2 回答 2

1

您需要返回一个 PlayerData 对象。您可以在加载 clickListener 中获得其中之一。

db.deleteContact(db.getContact(<entry number of player>));

这应该为您提供 PlayerData 对象以作为 deleteContact 方法的参数传递。

希望这可以帮助

于 2013-08-30T09:47:02.390 回答
0

就像在加载按钮中单击一样,您正在传递联系索引,例如

db.getContact(8).getscore();

与此相同,我认为您也应该通过此也喜欢

db.deleteContact(7); //index of 7th contact
于 2013-08-30T10:00:48.770 回答