Open main menu

CDOT Wiki β

Changes

MAP524/DPS924 Lecture 5

107 bytes added, 18:04, 18 July 2015
ListView
* Add a ListView below the TextView in your activity_main.xml file.
* Create a second layout file named "activity_listview.xml" with root element set to TextView (no layout element). It should look like this
<presource lang="xml"><!?xml version="1.0" encoding="utf-8"?>
<textview xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"/></presource>
* Create a new [https://scs.senecac.on.ca/~andrew.smith/android/2015-02/arrays.xml arrays.xml] file inside your values directory.
* Add a String array named colourNames as a class variable in MainActivity like this:
<presource lang="java">String[] colourNames;</presource>
* Tie your array to your xml array like this :
<presource lang="java">colourNames = getResources().getStringArray(R.array.listArray);</presource>
* Create a ListView object pointing to your list view like this:
<presource lang="java">ListView lv = (ListView) findViewById(R.id.listView);</presource>
* Create an array adapter and attach it to your list view like this:
<presource lang="java">ArrayAdapter aa = new ArrayAdapter(this, R.layout.activity_listview, colourNames);lv.setAdapter(aa);</presource>
* You can now run your app to see your scrollable list of colours.
* Now add an onClickListener to your list view like this:
<presource lang="java">lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView parent, View view, int position, long id) {
Toast.makeText(getApplicationContext(), ((TextView) view).getText(), Toast.LENGTH_SHORT).show();
}
});</presource>
* Run your app again and this time select a colour by clicking it.
* You should see a Toast with the selected colour name pop up.