android-Textview列表内的文本颜色

android-Textview列表内的文本颜色,第1张

概述我正在编写一个检查我们的“网络服务”并返回“托管”或“非托管”状态的应用程序,我在列表视图中保留了正在运行的搜索历史记录(直到用户清除它),这一切正常.我想做的是,如果状态为“托管”,我希望单个textview项目为绿色,如果状态为“非托管”,我希望单个项目为红色.//Thi

我正在编写一个检查我们的“网络服务”并返回“托管”或“非托管”状态的应用程序,我在列表视图中保留了正在运行的搜索历史记录(直到用户清除它),这一切正常.

我想做的是,如果状态为“托管”,我希望单个textvIEw项目为绿色,如果状态为“非托管”,我希望单个项目为红色.

    //This is the String Array which gets populated later.    ArrayList<String> _searchHistoryList = new ArrayList<String>();    //Here is where I overrIDe the getVIEw to try to change the color.    listadapter = new ArrayAdapter<String>(this, androID.R.layout.simple_List_item_1, _searchHistoryList) {    @OverrIDe    public VIEw getVIEw(int position, VIEw convertVIEw,  VIEwGroup parent) {        TextVIEw textVIEw = (TextVIEw) super.getVIEw(position, convertVIEw, parent);        String _currentStatus = appSettings.getString("current_status", "na");        int textcolor;        if (_currentStatus.equals("Managed")){            textcolor = R.color.green_text;        } else {            textcolor = R.color.red_text;        }        textVIEw.setTextcolor(getResources().getcolor(textcolor));        return textVIEw;    }};lvSearchHistory.setAdapter(listadapter); 

上面的代码实际上将整个列表视图变成了最后一个搜索项的颜色. (例如,如果最后的搜索结果为“托管”结果-整个项目列表变为绿色,而不仅仅是单个项目).

谁能指出我正确的方向.

解决方法:

在我看来,您问题的根源是此电话:

String _currentStatus = appSettings.getString("current_status", "na");

该调用中没有任何内容指示要检查的列表元素,因此它将始终为列表中的每个视图返回相同的结果.您应该传递position参数,并使用它来获取相关列表条目的状态(如何执行此 *** 作取决于您实际上如何获得列表元素的状态,但这并不难).

总结

以上是内存溢出为你收集整理的android-Textview列表内的文本颜色全部内容,希望文章能够帮你解决android-Textview列表内的文本颜色所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1075000.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存