2012-04-04 33 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