Android: ничего на экране с учебным пособием по просмотру списка

#android

#Android

Вопрос:

Я следую руководству по просмотру списка

и у меня есть этот код (очень незначительные изменения):

 public class GroupsActivity extends ListActivity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setListAdapter(new ArrayAdapter<String>(this, R.layout.groups_layout, R.array.repetitions_array));

        ListView lv = getListView();
        lv.setTextFilterEnabled(true);

        lv.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {
                // When clicked, show a toast with the TextView text
                Toast.makeText(getApplicationContext(), ((TextView) view).getText(),
                Toast.LENGTH_SHORT).show();
            }
        });
    }
}
  

R.layout.groups_layout — это .xml :

 <?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
android:textSize="16sp" >
</TextView>
  

проблема в том, что я ничего не вижу на экране.
Есть идеи, что не так?

Комментарии:

1. Вы видите какие-либо ошибки в выводе Logcat? Вы уверены, что ваш массив содержит элементы? Может быть, попробуйте установить для элемента listview layout_height значение «wrap_content» вместо «fill_parent»

2. где вы определяете repetitions_array ? и вы действительно заполнили его данными?

Ответ №1:

Вы не можете указать идентификатор ресурса массива в конструкторе ArrayAdapter. Вам нужен фактический объект массива. Попробуйте это вместо:

 String your_array_contents[] = context.getResources().getStringArray(R.array.repetitions_array);
setListAdapter(new ArrayAdapter<String>(this, R.layout.groups_layout, your_array_contents));
  

Ответ №2:

Одна из возможностей заключается в том, что R.array.repetitions_array пуст