Ciao a tutti,
Lavorando ad un progetto mobile su Android Studio, sono bloccato da questa mattina con questo problema: l'applicazione mi crasha e il problema(debuggando) sembra essere il settaggio dell'adattatore nella variabile...
Vi allego il codice per provare a capirci qualcosa in più:
MainActivity.java
Adattatore.javacodice:package com.example.punta.myapplication; import android.content.Context; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ListView; import java.util.List; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final ListaKontatti utenti = new ListaKontatti(); Adattatore myAdapter = new Adattatore(this, android.R.layout.list_content, utenti); ListView lista = (ListView)findViewById(R.id.lista); lista.setAdapter(myAdapter); lista.setOnItemClickListener( new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { Utente u = utenti.get(i); Log.d("aaa Prova", u.getNome() + ": " + u.getKilometri() + " km\nUltimo accesso : " + u.getGiorni()); } } ); } }
Activity_main.xmlcodice:package com.example.punta.myapplication; import android.content.Context; import android.support.annotation.IdRes; import android.support.annotation.LayoutRes; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.TextView; import java.util.List; public class Adattatore extends ArrayAdapter<Utente> { public Adattatore(@NonNull Context context, @LayoutRes int resource) { super(context, resource); } public Adattatore(@NonNull Context context, @LayoutRes int resource, @IdRes int textViewResourceId) { super(context, resource, textViewResourceId); } public Adattatore(@NonNull Context context, @LayoutRes int resource, @NonNull Utente[] objects) { super(context, resource, objects); } public Adattatore(@NonNull Context context, @LayoutRes int resource, @IdRes int textViewResourceId, @NonNull Utente[] objects) { super(context, resource, textViewResourceId, objects); } public Adattatore(@NonNull Context context, @LayoutRes int resource, @NonNull List<Utente> objects) { super(context, resource, objects); } public Adattatore(@NonNull Context context, @LayoutRes int resource, @IdRes int textViewResourceId, @NonNull List<Utente> objects) { super(context, resource, textViewResourceId, objects); } @NonNull @Override public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) { View v = convertView; if (v == null) { LayoutInflater vi; vi = LayoutInflater.from(getContext()); v = vi.inflate(R.layout.cella_lista, null); } Utente p = getItem(position); if (p != null) { TextView tt1 = (TextView) v.findViewById(R.id.nome); TextView tt2 = (TextView) v.findViewById(R.id.kilometri); TextView tt3 = (TextView) v.findViewById(R.id.giorni); tt1.setText(p.getNome()); tt2.setText(String.valueOf(p.getKilometri())); tt3.setText(p.getGiorni()); } return v; } }
codice:<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <ListView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/lista" /> </android.support.constraint.ConstraintLayout>
Cella_lista.xml
Grazie in anticipocodice:<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="32sp" android:id="@+id/nome"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="50sp" android:id="@+id/kilometri"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="50sp" android:id="@+id/giorni"/> </LinearLayout>

Rispondi quotando


