我有一个LinearLayout里面嵌套了一个TextView。这个LinearLayout可以获得焦点,当它获得焦点时,我希望TextView的textColor能够改变。我尝试使用ColorStateList,但是当LinearLayout获得焦点时,TextView似乎没有获得焦点。我知道这一点,因为我已经尝试过下面的代码:
mTextView.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
Log.d(TAG, "Changed TextView focus to: " + hasFocus);
}
});
但是没有任何日志被记录。我不想在LinearLayout上使用OnFocusChangeListener来改变TextView的textColor,我认为这必须从XML中完成。这样做的原因是,在另一个活动中,我有一个带有自定义适配器和自定义视图的ExpandableListView,并且当项目聚焦时,Android会更改自定义视图中TextView的textColor(从浅色到深色)。