ListView всегда равен нулю

#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 .