Android 如何正确地为特定列表元素着色
我有不同的列表元素,想给特定的列表元素上色。我的想法是将listview元素的文本保存到一个数据库中,该数据库应该是红色的。然后我想将数据库的文本与listview元素的文本进行比较,当这些文本匹配时,它们应该是红色的 这是原始列表视图: 然后我想用文本“Presetting”为listview上色。数据库内容正确: 但结果如下: 以下是我的listView适配器代码:Android 如何正确地为特定列表元素着色,android,android-listview,Android,Android Listview,我有不同的列表元素,想给特定的列表元素上色。我的想法是将listview元素的文本保存到一个数据库中,该数据库应该是红色的。然后我想将数据库的文本与listview元素的文本进行比较,当这些文本匹配时,它们应该是红色的 这是原始列表视图: 然后我想用文本“Presetting”为listview上色。数据库内容正确: 但结果如下: 以下是我的listView适配器代码: @Override public View getChildView ( final int groupPosition
@Override
public View getChildView ( final int groupPosition, final int childPosition,boolean isLastChild, View convertView, ViewGroup parent ) {
Datenbankhelper datenbankHelper = null;
datenbankHelper = datenbankHelper.getDatenBankHelper ( context_global );
String[] liste_aller_gesten = datenbankHelper.get_liste_aller_gesten( );
List< String > liste_aller_gesten_datenbank = Arrays.asList( liste_aller_gesten );
groupPosition_global = groupPosition;
childPosition_global = childPosition;
Log.d ( "childPosition_global", "childPosition_global " + childPosition_global + "|" + groupPosition_global );
// final String childText = ( String ) getChild ( groupPosition, childPosition );
final String childText = getChild ( groupPosition, childPosition ).toString ();
if ( convertView == null ) {
LayoutInflater infalInflater = ( LayoutInflater ) context_global.getSystemService ( Context.LAYOUT_INFLATER_SERVICE );
convertView = infalInflater.inflate ( R.layout.list_item, null );
}
final TextView txtListChild = ( TextView ) convertView.findViewById ( R.id.lblListItem );
txtListChild.setText( childText );
Log.d( "childtext123_0", "childtext123_0 " + childText + "|" + txtListChild.getText().toString());
for(int i=0; i < liste_aller_gesten_datenbank.size(); i++){
Log.d("childtext123_1", "childtext123_1 " + liste_aller_gesten_datenbank.get( i )); // Presenting
}
if(liste_aller_gesten_datenbank.contains( "Anwendung starten|" + childText )/* && txtListChild.getText().toString().equals( childText )*/){
Log.d( "in liste_aller_gesten", "in liste_aller_gesten " + groupPosition_global + "|" + childPosition_global );
convertView.setBackgroundColor( Color.RED );
}
@覆盖
公共视图getChildView(最终整数组位置、最终整数子位置、布尔isLastChild、视图转换视图、视图组父级){
Datenbankhelper Datenbankhelper=null;
datenbankHelper=datenbankHelper.getDatenBankHelper(上下文\全局);
String[]liste\u aller\u gesten=datenbankHelper.get\u liste\u aller\u gesten();
Listliste\u aller\u gesten\u datenbank=Arrays.asList(liste\u aller\u gesten);
groupPosition\u global=groupPosition;
childPosition\u global=childPosition;
Log.d(“childPosition_global”、“childPosition_global”+childPosition_global+“|”+groupPosition_global);
//最终字符串childText=(字符串)getChild(groupPosition,childPosition);
最后一个字符串childText=getChild(groupPosition,childPosition).toString();
if(convertView==null){
LayoutInflater infalInflater=(LayoutInflater)context\u global.getSystemService(context.LAYOUT\u INFLATER\u SERVICE);
convertView=infalInflater.flate(R.layout.list_项,空);
}
最终文本视图txtListChild=(文本视图)convertView.findViewById(R.id.lblListItem);
setText(childText);
Log.d(“childtext123_0”,“childtext123_0”+childText+“|”+txtListChild.getText().toString());
对于(int i=0;i
非常感谢