从活动更改多个文本视图的文本颜色

时间:2011-11-14 08:37:12

标签: android

当我点击按钮时,我想在我的应用中更改10-15 TextView的文字颜色。这些文本视图不在单个活动上。除了使用主题概念之外,还有其他方法可以实现这一点。

2 个答案:

答案 0 :(得分:3)

您可以制作ArrayList TextView,每次创建TextView(首次启动应用时),您想要更改文本颜色,将其添加到此ArrayList。 稍后,当用户单击您的按钮时,您将调用一个方法,该方法在此ArrayList上实现循环,并设置文本颜色。

可能需要静态ArrayList来实现此目的。

ArrayList<TextView> myAlTv = new ArrayList<TextView>();
        myAlTv.add(firstTv);
        myAlTv.add(secondTv);
        myAlTv.add(thirdTv);
        //...

public void changeColor()
{
     for (int i = 0; i < myAlTv.size(); i++)
    {
        myAlTv.get(i).setTextColor(0xFFFF0000);
    }
}

答案 1 :(得分:2)

您可以使用sharedPreferences执行此操作。单击该按钮时,可以将textview应具有的颜色保存到sharedPreferences对象中。然后在您的其他活动中,您可以通过获取之前设置的sharedPreference来检索这些颜色值,并且可以轻松地将这些颜色值分配给其他活动中的textviews。