gpt4 book ai didi

android - 根据文本值更改文本颜色

转载 作者:太空宇宙 更新时间:2023-11-03 12:58:02 25 4
gpt4 key购买 nike

我想弄清楚如何根据文本的值更改 TextView 的颜色。TextView 是从另一个 Activity 发送的,我的那部分工作正常。我想要的是一种根据 TextView 中的内容更改文本颜色的方法。因此,如果先前的 Activity 将“11 Mbps”之类的值作为 TextView 发送,那么我希望该文本颜色为黄色、“38 Mbps”绿色和 1 Mbps 红色。如果有帮助,我正在使用 eclipse。

这就是我将 TextView 发送到另一个 Activity 的方式。 “showmsg”只是发送到另一个页面的用户名。

buttonBack.setOnClickListener(new View.OnClickListener() {

public void onClick(View v){
final TextView username =(TextView)findViewById(R.id.showmsg);
String uname = username.getText().toString();

final TextView wifistrength =(TextView)findViewById(R.id.Speed);
String data = wifistrength.getText().toString();



startActivity(new Intent(CheckWiFiActivity.this,DashboardActivity.class).putExtra("wifi",(CharSequence)data).putExtra("usr",(CharSequence)uname));


}
});

这就是我在其他 Activity 中收到它的方式

Intent i = getIntent();
if (i.getCharSequenceExtra("wifi") != null) {
final TextView setmsg2 = (TextView)findViewById(R.id.Speed);
setmsg2.setText(in.getCharSequenceExtra("wifi"));
}

一切正常,但我不知道如何根据文本的值更改 TextView 的颜色。非常感谢任何帮助。

最佳答案

您显然想根据从上一个 Activity 收到的 String 中的数字设置颜色。所以你需要把它从String中解析出来,保存到一个int中,然后根据数字是多少,设置你的TextView .

String s = in.getCharSequenceExtra("wifi");
// the next line parses the number out of the string
int speed = Integer.parseInt(s.replaceAll("[\\D]", ""));
setmsg2.setText(s);
// set the thresholds to your liking
if (speed <= 1) {
setmsg2.setTextColor(Color.RED);
} else if (speed <= 11) {
setmsg2.setTextColor(Color.YELLOW);
else {
setmsg2.setTextColor(Color.GREEN);
}

请注意,这是未经测试的代码,可能包含一些错误。

解析方式来自here .

关于android - 根据文本值更改文本颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16430656/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com