просмотр списка Android с переключателем, не отображающим содержимое в одном элементе списка - PullRequest
0 голосов
/ 01 марта 2012

Я пытаюсь показать список с помощью переключателя режима одиночного выбора.

Вот мой бит кода

ListView l1 = (ListView)findViewById(R.id.listView1);

for(int i = 0; i <firstlist.size(); i++)
        {           
            f = firstlist.get(i);
            HashMap<String, Object> map = new HashMap<String, Object>(); 
            map.put("fname", f);
            listItem1.add(map);
        }
        SimpleAdapter listItemAdapter1 = new SimpleAdapter(this,listItem1,android.R.layout.simple_list_item_single_choice,new String[] {"fname"}, new int[] {R.id.fname});   
        l1.setAdapter(listItemAdapter1);
        l1.postDelayed(new Runnable() 
        {
            public void run() 
            {
                Utility.setListViewHeightBasedOnChildren(l1);
            }
        }, 400);
        l1.setItemsCanFocus(false);
        l1.setChoiceMode(ListView.CHOICE_MODE_SINGLE);

Все работает нормально, но проблема в том, что мой цвет фона макета белый, и я установил текст в цвете списка как черный, но текст в виде списка не отображается.

Когда я долго нажимаю, цвет списка подсвечивается, а затем появляется только текст. Когда я отпускаю, он исчезает.

Как изменить цвет переключателя выбранного списка на красный, возможно ли это

Как сделать текст видимым.

Ответы [ 2 ]

0 голосов
/ 01 марта 2012

вы можете использовать массив адаптер, с помощью которого вы можете добавить любую тему, но с простым списком с режимом выбора цвет текста не может быть изменен но проблема с адаптером массива заключается в том, что при прокрутке флажки не отображаются

, чтобы получить разрешение, создайте файл XML в папке макета style_list.xml вставьте этот код в это

  <CheckBox xmlns:android="schemas.android.com/apk/res/android";
       android:id="@android:id/text2" 
       android:paddingTop="10dip"
       android:paddingLeft="25dip"
       android:paddingBottom="10dip"
       android:layout_width="fill_parent" 
       android:textSize="15dip"
       android:layout_height="wrap_content" 
       android:background="#ffffffff"
       android:textColor="#000000"/>

and then change your adapter line code as 

 SimpleAdapter listItemAdapter1 = new SimpleAdapter(this,listItem1,R.layout.style_list,new String[] {"fname"}, new int[] {R.id.fname}); 

и замените xml представления списка этим

 <ListView android:layout_width="fill_parent"
             android:layout_height="200dip"
             android:id="@+id/your_order_list"
             android:cacheColorHint="#ffffff"
             android:background="#ffffff"/>
0 голосов
/ 01 марта 2012

Однажды попробуйте установить для свойства listView cacheColorHint значение Transparent, у меня все заработало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...