2012-04-04 59 views
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; 
    } 
    }); 
} 

可能是什么问题?

回答

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来检查值。

+0

我有同样的问题,我尝试这一点,但正确的值来我按[是]或[否]的对话框后,才和我以前需要它。怎么办呢? – Gold 2012-04-04 18:35:03

+0

感谢您的帮助,但同样的问题,我会得到相同的ID – Gali 2012-04-05 05:24:36

+0

@Gali:如果你想行ID替换添加my_id = ID;用my_id = position;在onListItemClick。 – Bhavin 2012-04-05 05:29:25