ListView Android - 显示列表中的两个项目<串GT;

时间:2016-06-01 10:04:40

标签: android listview custom-adapter

我试图做ListView。这是我的代码:

List<String> list = new ArrayList<>();
String[] add1 = {"FirstName1 ","LastName1", "12-12.1993"};
String[] add2 = {"FirstName2 ","LastName2", "20-12.1993"};
// Then adds these tables to the list;
list.add(add1[0] + add1[1] + add1[2]);
list.add(add2[0] + add2[1] + add2[2]);
//I create a ListView adapter
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_2, list);

现在,我的ListView看起来像这样:&#34; FirstName1 LastName1 12-12.1993&#34;等

我想看起来像这样:&#34; FirstName1 LastName1&#34;。

我无法删除日期,因为需要将其发送到SecondActivity

1 个答案:

答案 0 :(得分:1)

创建一个持有人的新类

  

Person.java

public class Person {
    private String name;
    private String surname;
    private String date;


    public Person(String name, String surname, String date) {
        this.name = name;
        this.surname = surname;
        this.date = date;
    }


   public String getName() {
        return name;
    }

    public String getSurname() {
        return surname;
    }

    public String getDate() {
        return date;
    }

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", surname='" + surname + '\'' +
                ", date='" + date + '\'' +
                '}';
    }
}

然后在您的主活动上创建一个ArrayList。此数组包含人员列表

   ArrayList<Person> list =new ArrayList<>();
   list.add(new Person("FirstName1 ","LastName1", "12-12.1993"));
   list.add(new Person("FirstName2 ","LastName2", "20-12.1993"));

如果要查看ArrayList中的项目,可以输入:

list.get(0).toString();

Log.e("ArrayList","ArrayList Position 0 :"+list.get(0).toString());

或    获取位置0的用户名

Log.e("ArrayList","Name Position 0 :"+list.get(0).getName());

最后,您必须创建一个自定义适配器,并将自定义数组传递给他。

CustomAdapter adapter= new CustomAdapter(this,list);

只需查看本教程即可:Tutorial