Как изменить цвет текста текстовых представлений в строке списка в зависимости от состояния строки (выделено, нормально, ...)? - PullRequest
2 голосов
/ 06 ноября 2011

Моя строка для просмотра списка определена в его собственном XML-файле.Он содержит несколько текстовых обзоров.

Как я могу установить цвет текста этих текстовых представлений в зависимости от состояния строки (выделено, сфокусировано, нормально ...)?

Ответы [ 2 ]

1 голос
/ 06 ноября 2011

Вы должны использовать setOnFocusChangedListener () для каждой строки. и получите доступ к вашим textViews и измените цвет текста.

row.setOnFocusChangedListener(focuschangedListener);

private onFocusChangedListener focustchangedListener = new onFocusChangedListener(

            @Override
            public void onFocusChange(View row, boolean arg1) {

                //get access to textviews using row.findViewById()

                if (arg1) {
                     // view is on focus, change the textcolor

                } else {
                     // view lost focus, change the text colors to normal.
                }
            }

);
0 голосов
/ 07 ноября 2011

Если вы устанавливаете адаптер для просмотра списка в своем коде, тогда переопределите getView вашего адаптера следующим образом:

adapter = new ArrayAdapter<String>(YourActivity.this , R.layout.liststylelayout)
{

                @Override
                public View getView(int position, View convertView,ViewGroup parent) 
                {
                    View v = super.getView(position, convertView, parent);
                    //v is parent view which has your textview as child
                    TextView tv1 =(TextView)v.findViewById(R.id.movielistitemstrings);          
                    //get your textview like this             
                    tv1.setTextColor(Color.parseColor("#FF8000"));      
                    //do your operations on textview                
                }                   
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...