- Forum-Beiträge: 9
21.04.2014, 14:53:42 via Website
21.04.2014 14:53:42 via Website
Hey zusammen, leider kann ich mein Problem nicht so kurz beschreibe das es in die Überschrift passt. Das Problem ist: Ich habe einen ListView der einen Chat ausgeben soll, wenn der Username, dem eigenen Username entspricht soll der Username in grün ausgegeben werden, sonst in schwarz. Leider funktioniert das nur bedingt, siehe Bild (Lapineu ist mein laptop von dem die Nachricht gesendet wurde, handymi ist mein handy):
Hier noch der Quellcode zu meine, CustomAdapter, ich denke dort liegt das Problem:
`package com.example.wgapp;
import java.util.ArrayList; import java.util.HashMap; import java.util.List;
import com.example.wgapp.data.Chat;
import android.R.color; import android.app.Activity; import android.content.Context; import android.graphics.Color; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.TextView;
public class LazyAdapter extends BaseAdapter{
private List<Chat> _data;
Context _c;
String user2;
LazyAdapter (Context c, List<Chat> data, String username){
_data = data;
_c = c;
user2 = username;
}
public int getCount() {
// TODO Auto-generated method stub
return _data.size();
}
public Object getItem(int position) {
// TODO Auto-generated method stub
return _data.get(position);
}
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
View v = convertView;
if (v == null)
{
LayoutInflater vi = (LayoutInflater)_c.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.list_row, null);
}
TextView fromView = (TextView)v.findViewById(R.id.name);
TextView timeView = (TextView)v.findViewById(R.id.date);
TextView descView = (TextView)v.findViewById(R.id.message);
if(_data.get(position).getUserName().equals(user2)){
fromView.setText(_data.get(position).getUserName());
fromView.setTextColor(Color.parseColor("#00FF00"));
descView.setText(_data.get(position).getDate());
timeView.setText(_data.get(position).getMessage());
} else{
fromView.setText(_data.get(position).getUserName());
descView.setText(_data.get(position).getDate());
timeView.setText(_data.get(position).getMessage());
}
return v;
}`
Edit: Sry irgendwie hat das mit dem Code nicht richtig funktioniert oder?
danke für eure Hilfe, weiß echt nicht mehr weiter...
Grüße Michi
— geändert am 21.04.2014, 14:54:56
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.