2016-06-01 7 views
-2

Ich versuche ListView zu tun. Dies ist mein Code:ListView Android - zeigt zwei Elemente aus der Liste an < String>

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); 

jetzt, meine ListView wie folgt aussieht: "FIRSTNAME1 LastName1 12-12,1993" usw.

möchte ich wie folgt aussieht: "FIRSTNAME1 LastName1".

Ich konnte das Datum nicht löschen, da es an SecondActivity gesendet werden muss.

+0

Sie können zusätzliche Spalte wie diese auszublenden: http://stackoverflow.com/questions/14711065/hide-column-in-listview-android – Jehy

+0

Ja , @ Selvin. Sehr deutlich! ;) Was ich verstanden habe: '" Liste ... Liste ? "' –

+0

@Selvin Jestem początkującym programmistą. Rozumiem, że lepszym podejściem byłoby zrobić osobą kłęę która odpowiadałaby za tą listę tak? –

Antwort

1

neue Klasse machen, dass eine Person

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 + '\'' + 
       '}'; 
    } 
} 

Dann auf Ihre Haupttätigkeit eine Arraylist erstellen halten. Dieses Array enthält eine Liste von Personen

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

wenn Sie die Einzelteile in Arraylist sehen wollen Sie diese Art können:

list.get(0).toString(); 

oder

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

oder den Namen eines Benutzers an Position 0

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

Schließlich müssen Sie einen benutzerdefinierten Adapter erstellen, dem Sie das benutzerdefinierte Array übergeben.

CustomAdapter adapter= new CustomAdapter(this,list); 

einfach dieser Anleitung schauen Sie helfen: Tutorial