ListView is a view group that displays a list of scrollable items. The list items are automatically inserted to the list using an Adapter that pulls content from a source such as an array or database query and converts each item result into a view that’s placed into the list.
Syntax for List view
ListView listView;
ArrayAdapter arrayAdapter=new ArrayAdapter(Context(),
layout Resource,ArrayResource);
listView.setAdapter(arrayAdapter);
In ArrayAdapter return type is 3 arguments
- Context
- Layout Resource
- Array Resource
Context: Interface to global information about an application environment. This is an abstract class whose implementation is provided by the Android system. It allows access to application-specific resources and classes, as well as up-calls for application-level operations such as launching activities, broadcasting and receiving intents, etc.
In Android Context we can write in 3 ways
- SuperClassName.this
- getApplicationContext()
- getActivity()
(This we can use only in Fragments.)
Layout Resource: Layout Resource we can specify in 2 ways
1. Predefined layout
2. Custom Layout
Array Resource: Array Resource we can specify in 3 ways
1. Array from Java
2. Array From Xml
3. Array From Database(Server)
Will observe below with different programs with above combinations
Program: ListView with predefined Layout & Array from Java
Activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:orientation="vertical"
tools:context="androiindians.listview.MainActivity">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="ListView Example"
android:gravity="center" />
<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/listviewex" />
</LinearLayout>
MainActivity.java
package androiindians.listview;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
ListView listView;
String[]Course={"Android","CoreJava","Adv Java"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView= (ListView) findViewById(R.id.listviewex);
//predefined layout +array from Java
ArrayAdapter arrayAdapter=new ArrayAdapter(getApplicationContext(),
android.R.layout.simple_list_item_1,Course);
listView.setAdapter(arrayAdapter);
}
}