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