Tengo una actividad en mi aplicación que enumera toda la información de mi base de datos en un TextView, sin embargo, quiero imprimir en un ListView en su lugar. No estoy seguro de cómo hacer esto, así que esto es lo que tengo hasta ahora.
public class ViewMeeting extends Activity implements OnClickListener { EditText deleteText; Button deleteButton; TextView tv; List<MeetingModel> list = new ArrayList<>(); DatabaseHelper db; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.view_meeting); db = new DatabaseHelper(getApplicationContext()); deleteText = (EditText) findViewById(R.id.editText6); deleteButton = (Button) findViewById(R.id.delete1); tv = (TextView) findViewById(textView6); deleteButton.setOnClickListener(this); list = db.getAllMeetingsList(); print(list); } //prints details from database table into a textview private void print(List<MeetingModel> list) { String value = ""; for(MeetingModel sm : list){ value = value+" ID: "+sm.id +"\n" +" Title: "+sm.title +"\n"+" Date: "+sm.date +"\n" + " Time: "+sm.time +"\n" +" Location: "+sm.location+"\n"+"\n"; } tv.setText(value); }Agregue un ListView al diseño de su actividad. Luego, en su función de impresión, pase su lista de reuniones a un ArrayAdapter, luego configúrelo como su adaptador ListView como se muestra a continuación:
ArrayAdapter adapter = new ArrayAdapter < String > (this, R.layout.LIST_ID, list); ListView listView = (ListView)findViewById(R.id.LIST_ID); listView.setAdapter(adapter);ACTUALIZAR Su código se verá así:
public class ViewMeeting extends Activity implements OnClickListener { EditText deleteText; Button deleteButton; TextView tv; List < MeetingModel > list = new ArrayList < > (); DatabaseHelper db; ArrayList meetings = new ArrayList < String > (); ListView listView; @ Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.view_meeting); listView = (ListView)findViewById(R.id.LIST_ID); db = new DatabaseHelper(getApplicationContext()); deleteText = (EditText)findViewById(R.id.editText6); deleteButton = (Button)findViewById(R.id.delete1); tv = (TextView)findViewById(textView6); deleteButton.setOnClickListener(this); list = db.getAllMeetingsList(); print(list); } //prints details from database table into a textview private void print(List < MeetingModel > list) { String value = ""; for (MeetingModel sm: list) { value = value + " ID: " + sm.id + "\n" + " Title: " + sm.title + "\n" + " Date: " + sm.date + "\n" + " Time: " + sm.time + "\n" + " Location: " + sm.location + "\n" + "\n"; meetings.add(value); } //tv.setText(value); ArrayAdapter adapter = new ArrayAdapter < String > (this, R.layout.LIST_ID, meetings); listView.setAdapter(adapter); } }Busque algunos adaptadores para su ListView como ArrayAdapter
https://github.com/codepath/android_guides/wiki/Using-an-ArrayAdapter-with-ListView