2015-11-13 40 views
0
public View getView(int position, View convertView, ViewGroup parent) { 
    // TODO Auto-generated method stub 
    inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    View itemView = inflater.inflate(R.layout.joinlistviewitem, parent, false); 
    resultp = data.get(position); 
    name = (TextView) itemView.findViewById(R.id.personname); 
    name.setText(resultp.get(Joinlistview.RANK)); 
    Button deletejoin=(Button)itemView.findViewById(R.id.delete); 
    deletejoin.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      //resultp.get("userId");    
      // TODO Auto-generated method stub 
      Log.e("delete clicked", "delete clicked"); 
      Toast.makeText(context,"clicked"+resultp.get(Joinlistview.RANK), Toast.LENGTH_SHORT).show();    
     } 
    }); 

    return itemView; 
} 

我使用上面的代碼按鈕點擊listview.If我點擊一個按鈕它播放用戶名與其位置。但它在所有位置顯示相同的名稱。?如何解決這個問題?按鈕點擊listview顯示相同的輸出

回答

1

使用getTag/setTag方法獲取當前行值內onClick爲:

Button deletejoin=(Button)itemView.findViewById(R.id.delete); 
deletejoin.setTag(resultp.get(Joinlistview.RANK)); 

而上的按鈕進行點擊:

Toast.makeText(context,"clicked "+ v.getTag().toString(), 
            Toast.LENGTH_SHORT).show(); 
+0

Joinlistview是一類和我accesing字符串從class..But它當我點擊按鈕它顯示相同的名稱 – Prasanna

+0

@Prasanna:請參閱我的回答 –

+0

@prosper感謝您的答案。你可以解釋一下這個「deletejoin.setTag(resultp.get(Joinlistview.RANK));」? – Prasanna