我的意图带来两个字符串。 1是消息的字符串,另一个是颜色的字符串。
下面的代码显示收到了2个字符串。 “message”字符串显示在textview中,可以正常工作。但是我需要字符串“messagecolor”来设置textview的颜色。
我有一个colors.xml文件,其中定义了蓝色,绿色和红色。
因此,如果字符串“messagecolor”为蓝色,则文本将为蓝色。红色和绿色相同。如果字符串“messagecolor不是蓝色,红色或绿色,则文本将显示为黑色。
如果有人可以帮我解决这个问题,那将非常感激。
谢谢
// Get the message from the intent
Bundle bundle = getIntent().getExtras();
String messagecolor = bundle.getString(MainActivity.EXTRA_MESSAGE_COLOR);
String message = bundle.getString(MainActivity.EXTRA_MESSAGE);
// Create the text view
TextView textView = new TextView(this);
textView.setTextColor(getResources().getColor(R.color.blue));
textView.setTextSize(100);
textView.setText(message);
答案 0 :(得分:3)
不是试图匹配哪个颜色由哪个字符串表示,为什么不传递资源ID呢?
答案 1 :(得分:0)
尝试
if (message.equals("messageBlue")) {
textView.setTextColor(getResources().getColor(R.color.blue));
} else if (message.equals("messageGreen")) {
textView.setTextColor(getResources().getColor(R.color.green));
} else if (message.equals("messageRed")) {
textView.setTextColor(getResources().getColor(R.color.red));
} else //default
textView.setTextColor(getResources().getColor(R.color.black));
答案 2 :(得分:0)
text.setText(Html.fromHtml("<font color='red'>R</font>"));