Changes

Jump to: navigation, search
no edit summary
=== 3. Adding Functionality to Main Screen Elements ===
3.1. Create class <code>Student</code>. It is holder for contacts: <source lang="java"> package cs.ecl.team1.android;  public class Student { private String firstName; private String lastName; private String email; /** * Constructs a Student * @param firstName The student's first name * @param lastName The student's last name * @param email The student's email address */ public Student(String firstName, String lastName, String email) { this.firstName = firstName; this.lastName = lastName; this.email = email; }  public String getEmail() { return email; } public String getName() { return firstName + " " + lastName; } public String toString() { return firstName + " " + lastName; } // added so that student info can be edited public String getFirstname(){ return this.firstName; } public String getLastName(){ return this.lastName; } public void setEmail(String email){ this.email = email; } public void setFirstName( String firstName){ this.firstName=firstName; } public void setLastName(String lastName){ this.lastName = lastName; } }  </source>3.2. Inside the <code>ContractList</code> class create a String arrayVector of objects <code>Student</code>: <presource lang="java"> protected String[] private Vector<Student> studentList ; </source>3.3. Populate the Vector: <source lang= "java"> public Vector<Student> getList(){ studentList = new Vector<Student>(); studentList.addElement(new Student("Anastasia ", "Semionova", "asemionova1@learn.senecac.on.ca")); studentList.addElement(new Student("Minoo ", "Ziaei","minoo.ziaei@senecac.on.ca")); studentList.addElement(new Student("Ladan ", "Zadeh", "lzahiroleslamzadeh@learn.senecac.on.ca")); studentList.addElement(new Student("Sergiu ", "Ecob" , "secob@learn.senecac.on.ca")); return studentList; } </source>3.4. Create the method that generates list on the screen: <source lang="java"> public void displayData(){ ListAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, studentList); contactsList = (ListView) findViewById(R.id.listView1); contactsList.setAdapter(adapter); } </presource>3.25. Populate the listView on the main screen: <presource lang="java">
ListAdapter adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, studentList);
ListView contactsList = (ListView) findViewById(R.id.listView1);
contactsList.setAdapter(adapter);
</presource>3.6. Add list to the main screen on create: <source lang="java"> @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); studentList = getList(); displayData(); } </source>3.7. Run the application:<br/>[[Image: A_main5.png | 450px]]<br/>3.8. Add the functionality to "Search" button by implementing the <code>onClickListener()</code>: <source lang="java"> searchButton.setOnClickListener(new OnClickListener(){ public void onClick(View v) { EditText contact = (EditText)findViewById(R.id.editText1); String search = contact.getText().toString(); if(search.length() == 0){ displayData(studentList); else { Vector<Student> searchResults=new Vector<Student>(); for(Student i:studentList){ if ( i.getName().toLowerCase().contains(search.toLowerCase())){ searchResults.add(i); } } displayData(searchResults); } } }); </source>3.9. Run the application, type in search text in the Text Field and click search button:<br/>[[Image: A_search.png | 450px]]<br/>
1
edit

Navigation menu