如何更改某个 listView 位置的文本颜色?

Posted

技术标签:

【中文标题】如何更改某个 listView 位置的文本颜色?【英文标题】:How to change text color in a certain listView position? 【发布时间】:2021-01-02 07:56:00 【问题描述】:

我有列表视图。当我滚动列表时,列表中某个位置的单元格会改变颜色。如何让这个单元格中的文字颜色也发生变化?

我更改单元格颜色的代码部分:

@Override
        public void onScroll(final AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) 
            for (int i = 0; i < view.getChildCount(); i++) 
                View childView = view.getChildAt(i);
                if (i == 1) 
                    childView.setBackgroundResource(R.drawable.selected_color);
                 else 
                    childView.setBackgroundResource(R.drawable.no_select_color);
                
            

【问题讨论】:

【参考方案1】:

childView 中查找您的TextView,将其转换为TextView,然后使用setTextColor 方法

一些在线示例:

((TextView) childView.findViewById(R.id.text_view_id)).setTextColor(i==1 ? Color.RED : Color.GREEN);

或者,如果您的 childViewTextView,那么您可以使用:

((TextView) childView).setTextColor(i==1 ? Color.RED : Color.GREEN);

【讨论】:

谢谢。我听从了你的建议,这样做了: View childView = view.getChildAt(i); ` if (i == 1) childView.setBackgroundResource(R.drawable.selected_color); ((TextView) childView.findViewById(R.id.textRow)).setTextColor(Color.RED); else childView.setBackgroundResource(R.drawable.no_select_color);((TextView) childView.findViewById(R.id.textRow)).setTextColor(Color.RED); `,它的工作原理。

以上是关于如何更改某个 listView 位置的文本颜色?的主要内容,如果未能解决你的问题,请参考以下文章

Android如何在每个listview列表项上添加图标并更改文本颜色、背景颜色

在 searchview 中键入时如何更改 listview-cursoradapter 中搜索文本的背景颜色?

如何更改 ListView/GridView 中选定行的文本颜色? (使用 Expression Dark 主题)

如何在listview android中使文本颜色透明?

ListView:如何从列表中访问视图以更改背景颜色?

在 ListView 适配器的 getView(...) 中更改 TextView 颜色和文本