2011-11-25 4 views
-1
<string name="no_city"><font color='#FF0000'><b>Please select your location under Preferences in the menu</b></font> </string> 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.contents); 
    this.setContentView(R.layout.contents); 

    ChangeLog cl = new ChangeLog(this); 
    if (cl.firstRun()) 
     cl.getFullLogDialog().show(); 


    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); 

    TextView text1 = (TextView)findViewById(R.id.textview1); 

    Resources res = getResources(); 
    String text = String.format(res.getString(R.string.no_city)); 
    CharSequence styledText = Html.fromHtml(text); 

    text1.setText(prefs.getString("listPref",res.getString(R.string.no_city))); 

Я пытаюсь изменить цвет текста в строке no_city. У меня есть способ ввода строки вверху и java внизу. Ихав произносил как гексагон, так и название цвета, и ни один из них не работал. Я нашел эту информацию на сайте разработчика Google о том, как ссылаться на изменения, он компилируется отлично, но текст по-прежнему остается белым. Я использую строку с предпочтением списка, как показано по умолчанию, если в списке ничего не выбрано. Когда пользователь делает выбор, текст должен быть белым, поэтому я не могу изменить весь цвет текстового вида в xml или в java-файле. У меня есть вырубка. Я пропускаю что-то маленькое или я что-то пропускаю, но я не могу отследить его.изменяемая строка цвета текста

ответ

0

Укажите SPANNABLE как BufferType при установке текста на представлении:

text1.setText(styledText, TextView.BufferType.SPANNABLE); 
0

можно использовать непосредственно:

txt.setText(Html.fromHtml(getResources().getString(R.string.no_city)); 

см this

Смежные вопросы