0

我有连接到数据库的列表视图。

当我选择行时,我得到相同的 ID。

public void onListItemClick(ListView parent, View v, int position,long id) {
        showDialog(DELETE_ROW);
    }


else if (id==2)
{
  builder.setMessage(c.getString(0)); <-- here i get error id - same id all the time
  builder.setTitle("AAA");
  builder.setIcon(R.drawable.no);
  builder.setCancelable(false);
  builder.setPositiveButton("yes ", new DialogInterface.OnClickListener()
  {
    public void onClick(DialogInterface dialog, int id)
    {
      Toast.makeText(getBaseContext(),c.getString(0),Toast.LENGTH_SHORT).show(); <-- here i get the real id - what i need
     }
    });
    builder.setNegativeButton("no", new DialogInterface.OnClickListener()
    {
      public void onClick(DialogInterface dialog, int id)
    {
      return;
    }
   });
}

可能是什么问题?

4

1 回答 1

0

在这里,您将不得不使用最终变量。

public final int my_id=0;

public void onListItemClick(ListView parent, View v, int position,long id) {
    my_id=id;
    showDialog(DELETE_ROW);
}

现在

else if (my_id==2)
{
 ......
 public void onClick(DialogInterface dialog, int id)
 {
  my_id=id; // Assigning the Value
  Toast.makeText(getBaseContext(),c.getString(0),Toast.LENGTH_SHORT).show(); 
 }
 ...
}

现在您可以使用 my_id 来检查值。

于 2012-04-04T12:30:18.740 回答