无法更改ListFragment项目的文本颜色
-
09-12-2019 - |
题
我有一个从光标填充的listfragment。我将列表背景设置为白色,出于某种原因,文本也设置为白色。我尝试在布局XML中更改TextColor属性,但似乎没有任何效果。有人能指出我错过的东西?谢谢。
从listfragment:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String[] from = {DBConstants.COL_FAMILY_NAME};
int[] to = {android.R.id.text1};
getLoaderManager().initLoader(FAMILY_LOADER, null, this);
adapter = new SimpleCursorAdapter(getActivity().getApplicationContext(), R.layout.simple_spinner_drop_down_view, null, from, to, CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER);
setListAdapter(adapter);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
registerForContextMenu(getListView());
getListView().setBackgroundResource(android.R.color.white);
getListView().setCacheColorHint(android.R.color.transparent);
}
.
列表项布局:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/spinnerItemText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="15dip"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#000000" />
. 解决方案
我怀疑文本不是白色的,它只是没有出现起来,因为你是绑定错误的textview。我认为你需要改变这一行:
int[] to = {android.R.id.text1};
.
到这个:
int[] to = {R.id.spinnerItemText};
. 其他提示
我相信
android:textAppearance="?android:attr/textAppearanceLarge"
.
正在制作你的文字白色。我不确定为什么要为什么设置textColor不是覆盖颜色,但您可以尝试使用指定的颜色进行自己的样式
试试:
adapter = new SimpleCursorAdapter(getActivity().getBaseContext(),
R.layout.simple_spinner_drop_down_view, null, from, to,
CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER);
.
用getApplicationContext
替换生成的getBaseContext
是技巧。
不隶属于 StackOverflow