#android #android-layout
#Android #android-макет
Вопрос:
Привет!
ListView
В моем коде всегда null. У меня нет плана, почему. Ошибка возникает в методе setAdapter пожалуйста, помогите
Код:
ListView lv = (ListView)findViewById(R.id.lv_sp);
ArrayList<SPEntry> list = new ArrayList<SPEntry> ();
EntryParse ep = new EntryParse(LVEntries.this, getIntent().getExtras().getString("JSON"));
list = ep.getList();
//list= new ArrayList<SPEntry>();
Log.e("SP",String.valueOf(list.size()));
ca = new CustomAdapter(this, R.layout.customlistitem, list);
lv.setAdapter(ca);
ca.notifyDataSetChanged();
Макет:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ListView android:id="@ id/lv_sp" android:layout_width="fill_parent" android:layout_height="0dp" android:layout_weight="1" ></ListView>
</LinearLayout>
Комментарии:
1. Нуль или пустой? Если оно равно null, вы должны получать исключение NullPointerException в lv.setAdapter
2. Вы забыли вызвать setContentView?
Ответ №1:
Я не вижу вызова setContentView
. Сначала вы должны установить макет, а затем получить представления.
Комментарии:
1. более того, вы можете захотеть расширить
ListActivity
, присвоить вашему списку и пустым представлениям идентификаторыandroid:id/list
иandroid:id/empty
, а затем установить адаптер с помощьюsetListAdapter
.