2012-07-02 3 views
0

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

public class SetPrefsActivity extends ListActivity{ 
@Override 
public void onCreate(Bundle savedInstanceState){ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.radiolist); 
    ArrayList<Hall> listItems = new ArrayList<Hall>(); 
    ArrayAdapter<Hall> ar = new ArrayAdapter<Hall>(this, android.R.layout.simple_list_item_single_choice, listItems); 
    setListAdapter(ar); 
    ListView lv = getListView(); 
    lv.setTextFilterEnabled(true); 

    lv.setOnItemClickListener(new OnItemClickListener() 
    { ... //stuff}); 

    ... 

    //((ArrayAdapter<Hall>)getListAdapter()).add(stuff) 
    ... 
} 

И Xml для radiolist является:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <ListView 
    android:id="@android:id/list" 
    android:layout_weight="1" 
    android:layout_width="0dp" 
    android:layout_height="0dp" 
    android:drawSelectorOnTop="false" 
    /> 
    <Button 
    android:id="@+id/theButton" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="Click to go to next Activity" 
    /> 
</LinearLayout> 

То, что я вижу, это черная область, где список должен идти, а затем моя кнопка под ним. До того, как я добавил: setContentView(R.layout.radiolist);, он показал заполненный список просто отлично. Как я могу найти его в этом макете?

Извините, я просто вхожу в андроид!

+1

Использование 'android: layout_width =" 0dp "для' ListView' в вертикальном 'LinearLayout' означает, что ширина будет буквально' 0dp', так как 'android: layout_weight' будет влиять только на вертикальные размеры. Установите 'android: layout_width' как' fill_parent'. Кроме того, перед вызовом 'setListAdapter (...)' необходимо заполнить свой 'ArrayAdapter'. – Squonk

+0

Вау, я чувствую себя глупо; спасибо за улов! – kousun12

ответ

0

Наряду с изменением вашей ширины, вы должны добавить: android:cacheColorHint="#00000000"

Вот ссылка, которая может помочь: http://android-developers.blogspot.com/2009/01/why-is-my-list-black-android.html

В противном случае, при прокрутке, вы получите черные ящики и другие нежелательные результаты при прокрутке с вашим списком.

Смежные вопросы