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 に答える