I have an activity in my app that lists all the information from my database into a TextView, however I want to print out in a ListView instead. Im unsure how to do this so here is what I have so far.
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);
}
Add a ListView to your activity's layout. Then in your print function, pass your list of meetings to an ArrayAdapter, then set it as your ListView adapter like below:
ArrayAdapter adapter = new ArrayAdapter < String > (this, R.layout.LIST_ID, list);
ListView listView = (ListView)findViewById(R.id.LIST_ID);
listView.setAdapter(adapter);
UPDATE You code will then look something like:
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);
}
}
Search for some Adapters for your ListView as ArrayAdapter
https://github.com/codepath/android_guides/wiki/Using-an-ArrayAdapter-with-ListView