Java 如何根据行状态(选定、正常等)更改listview行中TextView的文本颜色?

Java 如何根据行状态(选定、正常等)更改listview行中TextView的文本颜色?,java,android,listview,textview,Java,Android,Listview,Textview,listview的我的行在它自己的xml文件中定义。它包含一些文本视图 如何根据行的状态(选定、聚焦、正常…)设置这些文本视图的文本颜色?您必须为每行使用setOnFocusChangedListener()。和访问您的文本视图,并更改文本颜色 row.setOnFocusChangedListener(focuschangedListener); private onFocusChangedListener focustchangedListener = new onFocusChanged

listview的我的行在它自己的xml文件中定义。它包含一些文本视图


如何根据行的状态(选定、聚焦、正常…)设置这些文本视图的文本颜色?

您必须为每行使用setOnFocusChangedListener()。和访问您的文本视图,并更改文本颜色

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.
                }
            }

);

如果要在代码中为listview设置适配器,请按如下方式覆盖适配器的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                
                }                   
};
adapter=newArrayAdapter(YourActivity.this,R.layout.liststylelayout)
{
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图)
{
视图v=super.getView(位置、转换视图、父级);
//v是将textview作为子视图的父视图
TextView tv1=(TextView)v.findViewById(R.id.movieListItemString);
//像这样获取您的文本视图
tv1.setTextColor(Color.parseColor(#FF8000”);
//在textview上执行操作
}                   
};