ListFragmentアイテムのテキスト色を変更できません
-
09-12-2019 - |
質問
カーソルから取り出されるリストラグメントを持っています。私はWhiteに設定されているリストの背景を持っています、そして何らかの理由でテキストは白に設定されています。Layout 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