2012-03-08 20 views
1

Cursorから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" /> 

答えて

1

私はテキストが白ではないと思っています。間違ったTextViewにバインドする。これに

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

:私はあなたがこの行を変更する必要があると思う

int[] to = {R.id.spinnerItemText}; 
+0

それだけです。私は 'android.R.layout.simple_list_item_1'を使っていましたが、そのテキストは白で動作しませんでしたので、私は自分自身を使用しました。バインドを更新するのを忘れてしまったように見えます。それを見つけていただきありがとうございます。 – Spencer

0

私は

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

は、あなたのテキストが白作っていると信じてListFragmentから

。なぜtextColorを設定すると色が上書きされないのか分かりませんが、指定した色で自分のスタイルを作ってみてください。

0

これを試してみてください:getBaseContext

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

は、トリックを行います。

関連する問題