Problem:Ansichten in benutzerdefinierten Listview-Element haben keine apptheme
ich einen benutzerdefinierten Adapter für meine listview
haben, die derzeit eine checkbox
und eine edittext
enthält. Ich habe keine Themen im Ordner res/values/styles
geändert. Aus irgendeinem Grund haben die checkbox
und edittext
einen anderen Style/Theme als der normale Style/Theme ("AppTheme").
Automatisch generierte Thema:
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
Aber das Kontrollkästchen ist weiß, und kann nur gesehen werden, wenn es aktiviert ist. (Die Farbe ist nicht der oben angegebene colorAccent). Der Bearbeitungstext hat dieselbe Farbe wie das Kontrollkästchen, wenn es aktiviert ist (grün/bläulich).
Farben:
<color name="colorPrimary">#3F51B5</color>
<color name="colorPrimaryDark">#303F9F</color>
<color name="colorAccent">#FF4081</color>
Was haben versucht, ich?
Ich habe versucht, das Thema/Stil des Containers des Elements und des Elements selbst, mit den XML-Attribute android:theme
und style
. Jeder ohne Erfolg.
Ist das normal? Wenn ja, wie ändere ich den Stil/das Thema des Listeneintrags? Wenn nicht, was könnte falsch sein?
Mein listitem.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="match_parent"
android:layout_height="match_parent" >
<CheckBox
android:id="@+id/cb_listitem"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"/>
<EditText
android:id="@+id/editText_listitem"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="9"
android:textColor="@color/black"/>
</LinearLayout>
getView in benutzerdefinierten Adapter:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
if (convertView == null){
LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.listitem_note_checkbox, null);
holder = new ViewHolder();
holder.checkBox = (CheckBox)convertView.findViewById(R.id.cb_listitem);
holder.editText = (EditText)convertView.findViewById(R.id.editText_listitem);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.editText.setText(items.get(position).note);
return convertView;
}
screenshots:
wie wir die Radio-Buttons haben sehen können, die Standard Layou t, accentcolor "pink" und sie haben einen grauen Umriss. aber das Markierungsfeld ist weiß und die Akzentfarbe ist blau/grünlich.
Wenn Sie für Ihre Checkbox und den Bearbeitungstext keinen Stil festgelegt haben, werden diese standardmäßig angezeigt. Fehle ich etwas in deiner Frage? Könnten Sie einen kleinen Screenshot von dem, was tatsächlich ist und was erwartet wird, veröffentlichen? – Rajkiran
ok ich werde Screenshots in einem Moment – Anthony
@MikeM veröffentlichen. versucht, dass, hat nicht funktioniert:/ – Anthony