Я разрабатываю приложение для Android. Из моего основного действия я перешел бы ко второму, который отобразил бы некоторые данные в виде списка. Моя проблема заключается в добавлении ArrayAdapter в список и добавлении ListView к содержимому деятельности.Android listview issues
Моя вторая деятельность XML является:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/doctorslistview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:gravity="center_vertical"
android:paddingLeft="6dip"
android:minHeight="?android:attr/listPreferredItemHeight"
/>
Деятельность называется: activity_doctors.
код позади:
public class Doctors extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_doctors);
// Show the Up button in the action bar.
getActionBar().setDisplayHomeAsUpEnabled(true);
ArrayList<Doctor> docs = null;
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
try {
String doctors = GetDoctorsFromServer();
docs = GetDoctorsListFromServerString(doctors);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ListView myListView = new ListView(this);
String[] docsArray = new String[docs.size() + 1];
int i = 0;
for(Doctor d : docs)
{
docsArray[i] = d.getDoctorName();
i++;
}
myListView.setAdapter(new ArrayAdapter<String>(this, R.layout.activity_doctors,
R.id.doctorslistview, docsArray));
//setListAdapter(new ArrayAdapter<String>(this, R.layout.activity_doctors, docsArray));
setContentView(myListView);
}
The occurres об ошибке, когда последняя команда выполняется: setContentView (MyListView);
Стек след:
02-17 21:51:48.639: E/AndroidRuntime(24298): FATAL EXCEPTION: main
02-17 21:51:48.639: E/AndroidRuntime(24298): Process: com.example.cabinetmedical.android, PID: 24298
02-17 21:51:48.639: E/AndroidRuntime(24298): java.lang.NullPointerException
02-17 21:51:48.639: E/AndroidRuntime(24298): at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:394)
02-17 21:51:48.639: E/AndroidRuntime(24298): at android.widget.ArrayAdapter.getView(ArrayAdapter.java:362)
02-17 21:51:48.639: E/AndroidRuntime(24298): at android.widget.AbsListView.obtainView(AbsListView.java:2452)
02-17 21:51:48.639: E/AndroidRuntime(24298): at android.widget.ListView.makeAndAddView(ListView.java:1891)
02-17 21:51:48.639: E/AndroidRuntime(24298): at android.widget.ListView.fillDown(ListView.java:792)
02-17 21:51:48.639: E/AndroidRuntime(24298): at android.widget.ListView.fillFromTop(ListView.java:853)
Любые идеи кто-нибудь?
Благодаря
Один из элементов в docsArray имеет значение null (потому что docsArray.size() = docs.size() + 1), но это просто догадка bling ... попытайтесь узнать, как использовать отладчик ... и возиться с политика нити - действительно глупая идея – Selvin
Отличный улов. Я даже не думал о том, чтобы искать ошибку. Спасибо –
https://github.com/android/platform_frameworks_base/blob/master/core/java/android/widget/ArrayAdapter.java#L394 => 'item.toString() == NPE' =>' item == null ' – Selvin