我有一个带有textview和按钮的自定义小部件。我的列表视图包含自定义小部件的列表。我想知道点击了哪个按钮。 就像在Facebook中一样,每个帖子都有一个反应按钮,当你点击它时,你会转到一个特定的页面。
答案 0 :(得分:1)
使用以下代码创建自定义列表。您可以创建一个holder类来保存按钮和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;
}