我想自定义列表视图的每一行,并按以下方式显示它们:
List View Buttons http://raphaeu.com/img_botoes.jpg
在上图中,我当然会替换图像的数字。但是我需要让这些地方中的每一个都“可点击”,也就是说,每个编号的地方都必须附加一个不同的触摸事件。
我将如何继续这样做?
提前谢谢!!
答案 0 :(得分:1)
您需要创建一个自定义适配器类,从BaseAdapter扩展。在其中,您可以为您希望的行充气。有大量的教程,搜索'listview自定义适配器'。
答案 1 :(得分:0)
像Andro一样创建自定义列表适配器..状态here:
public class CustomListAdapter extends BaseAdapter {
private ArrayList<SingleElementDetails> allElementDetails;
private Context con;
private LayoutInflater mInflater;
public CustomListAdapter(Context context, ArrayList<SingleElementDetails> results) {
allElementDetails = results;
mInflater = LayoutInflater.from(context);
con=context;
public View getView(int position, View convertView, ViewGroup parent)
{
convertView = mInflater.inflate(R.layout.listview1, null);
Button bt=(Button)convertView.findViewById(R.id.bt);
TextView textview1= (TextView) convertView.findViewById(R.id.dishname_entry);
TextView textview2 = (TextView) convertView.findViewById(R.id.category_entry);
TextView textview3=(TextView)convertView.findViewById(R.id.description_entry);
textview1.setText(allElementDetails.get(position).getDishName());
textview2.setText(allElementDetails.get(position).getCategory());
textview3.setText(allElementDetails.get(position).getDescription());
bt.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
Intent intent=new Intent(con,MainActivity.class);
con.startActivity(intent);
}
});
return convertView;
}
}
只需稍微调整一下你想要做什么。你需要的一切都在那个班级里。