我试图找出如何根据文本的值更改TextVIEw的颜色.
TextVIEw已经从另一个活动发送,我有一部分正常工作.我想要的是一种根据TextVIEw中的内容更改文本颜色的方法.因此,如果之前的Activity发送类似“11 Mbps”的值作为TextVIEw,那么我希望该文本颜色为黄色,“38 Mbps”为绿色,1 Mbps为红色.如果这有用的话,我正在使用eclipse.@H_502_3@
这就是我将TextVIEw发送到另一个活动的方式. “showmsg”只是发送到另一个页面的用户名.@H_502_3@
@H_502_3@
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)); } });
这就是我在其他活动中收到它的方式@H_502_3@
@H_502_3@
Intent i = getIntent(); if (i.getCharSequenceExtra("wifi") != null) { final TextVIEw setmsg2 = (TextVIEw)findVIEwByID(R.ID.Speed); setmsg2.setText(in.getCharSequenceExtra("wifi")); }
这一切都很好,但我不知道如何根据文本的值更改TextVIEw的颜色.任何帮助将非常感激.@H_502_3@
解决方法:@H_502_3@
您显然希望根据从上一个活动收到的字符串中的数字来设置颜色.因此,您需要将其解析出String,将其保存为int,然后根据数字设置,设置TextVIEw的颜色.@H_502_3@
@H_502_3@
String s = in.getCharSequenceExtra("wifi");// the next line parses the number out of the stringint speed = Integer.parseInt(s.replaceAll("[\D]", ""));setmsg2.setText(s);// set the thresholds to your likingif (speed <= 1) { setmsg2.setTextcolor(color.RED);} else if (speed <= 11) { setmsg2.setTextcolor(color.YELLOW);else { setmsg2.setTextcolor(color.GREEN);}
请注意,这是一个未经测试的代码,可能包含一些错误.@H_502_3@
解析它的方法来自here.@H_502_3@ 总结
以上是内存溢出为你收集整理的android – 根据文本值更改文本颜色全部内容,希望文章能够帮你解决android – 根据文本值更改文本颜色所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)