Monday, March 30, 2020

Android Listview Example

Introduction Listview

n this section, we will continue to study the UI controls that have not been finished. Looking back, we introduced the concept of the Adapter, and then learned the use of the three simplest adapters:
ArrayAdapter, SimpleAdapter, and SimpleCursorAdapter. Explained is the first UI control that needs to be used with Adapter: ListView, but in the version was replaced by the new control RecyclerView!
As one of the most commonly used controls, lists still need to be studied well. This section learns ListView, the properties of ListView, and the simple definition of BaseAdapter from the perspective of a beginner. As for ListView to optimize these, we come step by step

Android ListView

Android ListView is a view which contains the group of items and displays in a scrollable list. ListView is implemented by importing android.widget.ListView class. ListView is a default scrollable which does not use other scroll view.

ListView uses Adapter classes which add the content from data source (such as string array, array, database etc) to ListView. Adapter bridges data between an AdapterViews and other Views (ListView, ScrollView etc).

Example listview

activity_main.xml
First we need to drag and drop ListView component from palette to activity_main.xml file.
File: activity_main.xml
<?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="listview.example.com.listview.MainActivity"> 
 
    <ListView 
        android:id="@+id/listView" 
        android:layout_width="match_parent" 
        android:layout_height="fill_parent" 
         /> 
</android.support.constraint.ConstraintLayout> 
Create an additional mylist.xml file in layout folder which contains view components displayed in listview.
mylist.xml
File: mylist.xml
<?xml version="1.0" encoding="utf-8"?> 
 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/textView" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Medium Text" 
    android:textStyle="bold" 
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:layout_marginLeft="10dp" 
    android:layout_marginTop="5dp" 
    android:padding="2dp" 
    android:textColor="#4d4d4d" 
     />  
Now place the list of data in strings.xml file by creating string-array.
strings.xml
File:strings.xml
<resources> 
    <string name="app_name">ListView</string> 
    <string-array name="array_technology"> 
        <item>Android</item> 
        <item>Java</item> 
        <item>Php</item> 
        <item>Hadoop</item> 
        <item>Sap</item> 
        <item>Python</item> 
        <item>Ajax</item> 
        <item>C++</item> 
        <item>Ruby</item> 
        <item>Rails</item> 
        <item>.Net</item> 
        <item>Perl</item> 
    </string-array> 
</resources>  
Activity class
In java class we need to add adapter to listview using setAdapter() method of listview.

File: MainActivity.java
public class MainActivity extends AppCompatActivity { 
    ListView listView; 
    TextView textView; 
    String[] listItem; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.activity_main); 
 
        listView=(ListView)findViewById(R.id.listView); 
        textView=(TextView)findViewById(R.id.textView); 
        listItem = getResources().getStringArray(R.array.array_technology); 
        final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
                android.R.layout.simple_list_item_1, android.R.id.text1, listItem); 
        listView.setAdapter(adapter); 
 
        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
            @Override 
            public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) { 
                // TODO Auto-generated method stub 
                String value=adapter.getItem(position); 
                Toast.makeText(getApplicationContext(),value,Toast.LENGTH_SHORT).show(); 
 
            } 
        }); 
    } 
}  
Output
Android Listview Example

No comments:

Post a Comment