-2
我有一個帶有textview和按鈕的自定義小部件。我的列表視圖包含自定義小部件的列表。我想知道點擊了哪個按鈕。 和Facebook一樣,每個帖子都有一個反應按鈕,當你點擊它時,你會轉到特定頁面。如何在列表視圖中獲取按鈕的ID
我有一個帶有textview和按鈕的自定義小部件。我的列表視圖包含自定義小部件的列表。我想知道點擊了哪個按鈕。 和Facebook一樣,每個帖子都有一個反應按鈕,當你點擊它時,你會轉到特定頁面。如何在列表視圖中獲取按鈕的ID
使用下面的代碼來創建自定義列表。你可以創建一個持有者類來保存你的按鈕和textview對象。這將有助於您檢測使用持有人類別的按鈕點擊。
class MyAdpter extends ArrayAdapter
{
int layout;
ArrayList<Data> arr;
Context con;
public MyAdpter(Context context, int textViewResourceId, ArrayList<Data> objects) {
super(context, textViewResourceId, objects);
layout=textViewResourceId;
arr= objects;
con=context;
// TODO Auto-generated constructor stub
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
final ViewHolder holder=new ViewHolder();
if(convertView==null)
{
LayoutInflater inflator=(LayoutInflater) con.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView=inflator.inflate(layout, parent, false);
holder.tv=(TextView) convertView.findViewById(R.id.text);
holder.btn=(Button) convertView.findViewById(R.id.button);
}
holder.btn.setText("Data");
holder.btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Toast.makeText(con, ""+holder.btn.getText(), 800).show();
}
});
holder.tv.setText("DATA");
return convertView;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return super.getCount();
}
}
static class ViewHolder
{
TextView tv;
Button btn;
}
Thanx擴展而來,我使用了一個擴展BaseAdapter的類,它的工作原理! – Claudiu
[試試這個(http://26.media.tumblr.com/tumblr_layxkurNJE1qzpwi0o1_500.jpg) –
如果您創建自定義適配器,那麼你可以到那裏只是按鈕的ID。 – Hanuman
@Allu thnx,的確我必須使用一個自定義的適配器,該適配器從BaseAdapter的 – Claudiu