#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 пуст