2012-04-14 3 views
1

Ich habe eine Liste aus einer SQLite-Datenbank mit Datenwerten von -1 bis 1 gefüllt. Gibt es eine Möglichkeit, die Hintergrundfarbe für die negativen Elemente auf rot und die positiven Elemente auf grün zu setzen? Ein ähnlicher Effekt könnte erzielt werden, indem der Elementansicht ein grüner Pfeil für positive und ein roter Pfeil für negative Werte hinzugefügt werden. Ein anderes Beispiel könnte eine Aufgabenliste mit Elementen sein, die durch einen Prioritätswert farblich gekennzeichnet sind. In ios würde dies in Cellforrowat indexpath auftreten und auf Windows Phone/Silverlight würde es geschehen, indem eine Abhängigkeitseigenschaft an die Daten gebunden wird. Kann dies mit Android erreicht werden?Können Element-/Ansichtsstile in einem Android-Listenansichtselement aus den Daten in der Liste festgelegt werden?

Antwort

1

wie diese versuchen .. in getView Methode

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    LayoutInflater inflater = (LayoutInflater) context 
      .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    View rowView = inflater.inflate(R.layout.rowlayout, parent, false); 
    TextView textView = (TextView) rowView.findViewById(R.id.label); 
    ImageView imageview= (ImageView) rowView.findViewById(R.id.img); 
    textView.setText(values[position]); 
    String s = values[position]; 
    if (s.startsWith("-")) { 
     imageView.setImageResource(R.drawable.uparrow); 
    //or set background colour of those views here.. 
    } else { 
     imageView.setImageResource(R.drawable.downarrow); 
    } 


    return rowView; 
} 
+0

Haben Sie das versucht ....? – 5hssba

+0

Dies führt mich definitiv in die richtige Richtung und arbeitet immer noch daran. Da ich einen Cursor verwende, erweitere ich den Cursoradapter – kpierce8

0

In Ihrer Getview-Methode in Ihrem Adapter können Sie diesen Wert überprüfen und programmatisch die Farbe oder Zeichen jedes Elements ändern, wenn es erstellt wird.

1

Dies ist ziemlich einfach auf Android zu tun. Jedes Listenelement wird aktualisiert, sobald die Liste angezeigt wird. In einem ListAdapter gibt es eine getView-Methode, in der Sie den Wert des Listenelements festlegen.

Sie hätten also ein list_item.xml-Layout nur für die Listenelemente. im Custom ListAdapter können Sie die Farbe des Hintergrunds in der getView() Methode einstellen, in der Sie das aufgeblähte (View) list_item setzen. Hintergrund einstellen().

Schauen Sie sich diese Links aus: http://techdroid.kbeanie.com/2009/07/custom-listview-for-android.html http://saigeethamn.blogspot.com/2010/04/custom-listview-android-developer.html

Verwandte Themen