Когда я пытаюсь заполнить свой список с помощью моего специального адаптера или объекта моего пользовательского класса, приложение возвращается к предыдущему действию.
Я попытался отладить, но не могу найти строку, которая вызывает это поведение.
Может быть, в макете есть что-то, что в настоящий момент, чтобы его раздувать и рисовать, сталкивается с какой-то проблемой.
КОД ДЕЯТЕЛЬНОСТИ
try {
JSONObject obj = new JSONObject(response);
String objservice = obj.getString("service");
String objstatuCode = obj.getString("status-code");
String objdescription = obj.getString("status-description");
JSONObject result = obj.getJSONObject("result");
JSONArray cronologie = result.getJSONArray("dettaglioAttivita");
inputItems = new ArrayList<DTOLibrettoCronologia>();
for (int i = 0; i < cronologie.length(); i++) {
JSONObject row = cronologie.getJSONObject(i);
DTOLibrettoCronologia tmp = new DTOLibrettoCronologia("s", "s", "s", "s", "s", "s", "s");
inputItems.add(tmp);
}
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(getApplicationContext(), e.toString(), Toast.LENGTH_SHORT).show();
}
librettoCronologiaAdapter adapter = new librettoCronologiaAdapter(getApplicationContext(),
R.layout.libretto_cronologia, inputItems);
listView = (ListView) findViewById(R.id.cronologia_listview);
listView.setAdapter(adapter);
listView.setSmoothScrollbarEnabled(true);
КОД ЭЛЕМЕНТА XML
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id = "@+id/libretto_cronologia_element"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="0dp"
android:background="@color/transparent">
<!-- primary wrapper -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="@color/transparent">
<!--image -->
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@color/transparent"
android:layout_marginTop="5dp"
android:layout_marginLeft="16dp">
<ImageView
android:id="@+id/cronologiaState"
android:layout_width="36dp"
android:layout_height="40dp"
android:src="@drawable/check_cronologia_fail"/>
</LinearLayout>
<!--text -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@color/transparent"
android:paddingLeft="8dp"
android:paddingTop="8dp">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginLeft="4dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Data Appello: "/>
<TextView
android:id="@+id/cronologiaDataAppello"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="content"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginLeft="4dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="tipo: "/>
<TextView
android:id="@+id/cronologiaTipo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="content"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginLeft="4dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Voto/Giudizio: "/>
<TextView
android:id="@+id/cronologiaVoto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="content"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginLeft="4dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Stato: "/>
<TextView
android:id="@+id/cronologiaStato"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="content"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginLeft="4dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Data Verb: "/>
<TextView
android:id="@+id/cronologiaVerb"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="content"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginLeft="4dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Superato: "/>
<TextView
android:id="@+id/cronologiaSuperato"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="content"/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</RelativeLayout>
КОД XMLACTIVITY
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/cronologia_materia"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal|bottom">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<!-- TOP BAR -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@color/colorPrimary"
android:padding="20dp">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="cronologia esami per"
android:textSize="13dp"/>
<TextView
android:id="@+id/nomeMateria"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="-"
android:textSize="18dp"/>
</LinearLayout>
<!-- general info -->
<LinearLayout
android:id="@+id/recapWrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/transparent"
android:orientation="vertical"
android:padding="20dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/annoCorso"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Anno di Corso:"
android:paddingRight="10dp"/>
<TextView
android:id="@+id/annoCorsoValue"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="-" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/tipologia"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tipologia d'esame:"
android:paddingRight="10dp"/>
<TextView
android:id="@+id/tipologiaValue"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="-" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/corso"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Corso di Studio:"
android:paddingRight="10dp"/>
<TextView
android:id="@+id/corsoValue"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="-" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/dataSperamento"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Data di Superamento:"
android:paddingRight="10dp"/>
<TextView
android:id="@+id/dataSperamentoValue"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="-" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/votoFinale"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Voto Finale"
android:paddingRight="10dp"/>
<TextView
android:id="@+id/votoFinaleValue"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="-" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/peso"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Peso:"
android:paddingRight="10dp"/>
<TextView
android:id="@+id/pesoValue"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="-" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/Valutazione"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Valutazione:"
android:paddingRight="10dp"/>
<TextView
android:id="@+id/ValutazioneValue"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="-" />
</LinearLayout>
</LinearLayout>
<!-- LISTVIEW -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@color/transparent"
android:padding="20dp">
<ListView
android:id="@+id/cronologia_listview"
android:layout_width="match_parent"
android:layout_height="match_parent">
</ListView>
</LinearLayout>
</LinearLayout>
</FrameLayout>
ТАМОЖЕННЫЙ КОД АДАПТЕРА
public class librettoCronologiaAdapter extends ArrayAdapter<DTOLibrettoCronologia> {
Context context;
int rand = 0;
public librettoCronologiaAdapter(Context context, int risorsaId,
List<DTOLibrettoCronologia> items) {
super(context, risorsaId, items);
this.context = context;
}
//metodo getView --> ritorna la view da inserire nella ListView
public View getView(int position, View convertView, ViewGroup parent) {
//controllo se c'è gia un layout
LayoutInflater mInflater = (LayoutInflater) context
.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
DTOLibrettoCronologia content = getItem(position);
Toast.makeText(getContext(), "adapter", Toast.LENGTH_SHORT).show();
return convertView;
}
LogCat
FATAL EXCEPTION: main
Process: design.ubris.myuni, PID: 14189
java.lang.NullPointerException: Attempt to invoke virtual method 'int android.view.View.getImportantForAccessibility()' on a null object reference
at android.widget.AbsListView.obtainView(AbsListView.java:2436)
at android.widget.ListView.makeAndAddView(ListView.java:1986)
at android.widget.ListView.fillDown(ListView.java:709)
at android.widget.ListView.fillFromTop(ListView.java:770)
at android.widget.ListView.layoutChildren(ListView.java:1749)
at android.widget.AbsListView.onLayout(AbsListView.java:2210)
at android.view.View.layout(View.java:17702)
at android.view.ViewGroup.layout(ViewGroup.java:5631)
at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1079)
at android.view.View.layout(View.java:17702)
at android.view.ViewGroup.layout(ViewGroup.java:5631)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1762)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1606)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1515)
at android.view.View.layout(View.java:17702)
at android.view.ViewGroup.layout(ViewGroup.java:5631)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:325)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:17702)
at android.view.ViewGroup.layout(ViewGroup.java:5631)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:325)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:17702)
at android.view.ViewGroup.layout(ViewGroup.java:5631)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1762)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1606)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1515)
at android.view.View.layout(View.java:17702)
at android.view.ViewGroup.layout(ViewGroup.java:5631)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:325)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:17702)
at android.view.ViewGroup.layout(ViewGroup.java:5631)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1762)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1606)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1515)
at android.view.View.layout(View.java:17702)
at android.view.ViewGroup.layout(ViewGroup.java:5631)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:325)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at com.android.internal.policy.DecorView.onLayout(DecorView.java:774)
at android.view.View.layout(View.java:17702)
at android.view.ViewGroup.layout(ViewGroup.java:5631)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2519)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2234)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1372)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6774)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:926)
at android.view.Choreographer.doCallbacks(Choreographer.java:735)
at android.view.Choreographer.doFrame(Choreographer.java:667)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:912)
at android.os.Handler.handleCallback(Handler.java:761)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:156)
at android.app.ActivityThread.main(ActivityThread.java:6523)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:942)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:832)