白い背景を使用したいので、ListViewの色を変更しようとしています。ListViewに触れないと、テキストは表示されません。タッチすると、背景が黒に切り替わり、テキストが白であるためテキストが表示されます。テキストの色を変更して、タッチしたときに背景の色が変わるのを防ぐにはどうすればよいですか?これが私のコードです:
public class LayoutNight extends Fragment {
ListView myList;
String[] listContent = {
"Mo",
"Di",
"Mi",
"Do",
"Fr",
"Sa",
"So"
};
public static Fragment newInstance(Context context) {
LayoutNight f = new LayoutNight();
return f;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
ViewGroup root = (ViewGroup) inflater.inflate(R.layout.layout_night, null);
myList = (ListView)root.findViewById(R.id.list);
ArrayAdapter<String> adapter
= new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_list_item_multiple_choice,
listContent);
myList.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
myList.setAdapter(adapter);
// That was a try, but it crashed ...
// TextView myListText = (TextView)root.findViewById(R.id.list);
// myListText.setTextColor(color.black);
return root;
}
}
編集
ラグナンダンの提案をしましたが、背景は変わりませんでした。これは手つかずのスクリーンショットです
これはスクロール時の画面です(残念ながら黒)
そして、これはオプションを選択する際の画面です
編集 スクロール中に背景を変更せずにフォローするように動作するようになりました(PragnaniとRaghunandanのおかげで)が、クリックできなくなりました。クリック可能にするにはどうすればよいですか?
<ListView
android:id="@+id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/listbkg"
android:drawSelectorOnTop="true"
android:cacheColorHint="@android:color/transparent">
</ListView>
list_row.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="5px"
android:paddingBottom="5px"
android:textSize="35sp"
android:textColor="#000000"
android:layout_gravity="center"
android:maxHeight="75px"/>
コード:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
ViewGroup root = (ViewGroup) inflater.inflate(R.layout.layout_night, null);
myList = (ListView)root.findViewById(R.id.list);
ArrayAdapter<String> adapter
= new ArrayAdapter<String>(getActivity(),R.layout.list_row,listContent);
myList.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
myList.setFocusable(true);
myList.setClickable(true);
myList.setAdapter(adapter);
return root;
}