1

我有一个从光标填充的 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" />
4

3 回答 3

1

我怀疑文本不是白色的,只是没有显示,因为您绑定到错误的 TextView。我认为您需要更改此行:

int[] to = {android.R.id.text1};

对此:

int[] to = {R.id.spinnerItemText};
于 2012-03-08T23:55:43.843 回答
0

我相信

android:textAppearance="?android:attr/textAppearanceLarge"

正在使您的文本变白。我不确定为什么设置 textColor 不会覆盖颜色,但您可以尝试使用此处指定的颜色制作自己的样式

于 2012-03-08T23:05:33.667 回答
0

试试这个 :

adapter = new SimpleCursorAdapter(getActivity().getBaseContext(),
        R.layout.simple_spinner_drop_down_view, null, from, to,
        CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER);

替换getApplicationContextgetBaseContext诀窍。

于 2013-05-08T21:05:15.270 回答