Android创建自定义适配器

Android创建自定义适配器,android,listview,Android,Listview,我有一个类型书中对象的数组列表。 这是我的目标 public class Book { private String title; private int id; public String getTitle() { return title; } public void setTitle(String title) { this.title=title; } public int ge

我有一个类型书中对象的数组列表。 这是我的目标

  public class Book

   {

   private String title;
    private int id;
    public String getTitle() {
        return title;
    }
    public void setTitle(String title)
    {
        this.title=title;
    }

    public int getid()
    {
        return id;
    }
    public void setid(int id)
    {
        this.id = id;
    }
}

我只想在android listview中查看标题, 以及如何在item onClick操作期间获取每个标题的id。 请寻求帮助。

您可以这样做:

listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
  @Override
  public void onItemClick(AdapterView<?> parent, final View view,
      int position, long id) {
    Book item = (Book) parent.getItemAtPosition(position);
    int selected_id = item.getId();

    Log.i("selected id:--->", selected_id+"");

  }

});

。默认的ArrayAdapter对象对每个对象调用toString()方法,因此您只需编写:

公共字符串toString(){
返回标题;
}
如果要创建自己的ArrayAdapter,可以编写如下内容:

公共类BookAdapter扩展了ArrayAdapter{
私有静态最终int布局=R.LAYOUT.your_book_布局;
私人书籍[]书籍;
公共BookAdapter(上下文上下文,Book[]books){
超级(上下文、布局、书籍);
这本书=书;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
视图行=((LayoutFlater)getContext().getSystemService(Context.LAYOUT\u充气器\u SERVICE)).inflate(布局,父项,false);
((TextView)row.findviewbyd(R.id.tvTitle)).setText(books[position].getTitle());
返回行;
}
}

有很多关于ArrayAdapter的信息,包括改进性能。

这是我的自定义适配器公共类CustomAdapter扩展了ArrayAdapter{public CustomAdapter(上下文,int textViewResourceId,ArrayList listItems){super(上下文,textViewResourceId,listItems);}@Override public View getView(int-position,View-convertView,ViewGroup-parent){View-View=super.getView(position,convertView,parent);TextView-tv=(TextView)View.findViewById(android.R.id.text1);tv.setTextColor(Color.GREEN);tv.setTextSize(20);return-View;}请将您的代码粘贴到问题中,而不是粘贴到注释中。请自己想想,如果出现错误,您能从上面的注释中辨别出来吗?谢谢您,但是我如何创建自定义适配器,以便仅在listview中查看图书标题。谢谢您的帮助。
public String toString() {
    return title;
}