2010-12-28 8 views
3

Ich bin Parsen einen RSS-Feeds SAX mitAndroid - Zusätzliche Informationen an einen ListView übergeben, ohne dass er angezeigt wird, für einen RSS-Reader?

messages = parser.parse(); 
List<String> titles = new ArrayList<String>(messages.size()); 
for (Message msg : messages){ 
    titles.add(msg.getTitle() + "\n" +msg.getDate() + "\n\n" + msg.getDescription()); 
} 
ArrayAdapter<String> adapter = 
       new ArrayAdapter<String>(this, R.layout.row,titles); 
this.setListAdapter(adapter); 

Dies schafft eine schöne Liste mit dem gesamten Beitrag enthalten ist, aber ich möchte nur in der Liste den Titel und Datum anzuzeigen.

Hier ist mein onListItemClick jetzt

protected void onListItemClick(ListView l, View v, int position, long id) { 
     super.onListItemClick(l, v, position, id); 
     String selection = l.getItemAtPosition(position).toString(); 
     Dialog dialog = new Dialog(this); 
      dialog.setContentView(R.layout.single); 
      dialog.setTitle("Blog"); 
      dialog.setCancelable(true); 
      TextView text = (TextView) dialog.findViewById(R.id.SinglePost); 
      text.setText(selection); 
      dialog.show(); 

    } 

aber nur öffnet-up, was auch immer in der Liste ist.

Gibt es eine Möglichkeit, die Beschreibung an die Liste zu übergeben, ohne dass sie angezeigt wird, also wenn sie auf das Listenelement klicken, hat der Dialog nur die Beschreibung? Danke!

Antwort

2

schaffen eine separate Array hält nur Beschreibungen:

List<String> descriptions = new ArrayList<String>(); 
for(Message msg : messages){ 
    descriptions.add(msg.getDescription()); 
    titles.add(msg.getTitle() + "\n" +msg.getDate()); 
} 

protected void onListItemClick(ListView l, View v, int position, long id) { 
     super.onListItemClick(l, v, position, id); 
     String description = descriptions.get(position); 
     Dialog dialog = new Dialog(this); 
      dialog.setContentView(R.layout.single); 
      dialog.setTitle("Blog"); 
      dialog.setCancelable(true); 
      TextView text = (TextView) dialog.findViewById(R.id.SinglePost); 
      text.setText(description); 
      dialog.show(); 

    } 
+0

, die große gearbeitet. Vielen Dank! – tmat1075

Verwandte Themen