Materi-Pemrograman-Mobile Native-P7
Materi-Pemrograman-Mobile Native-P7
MATERI AJAR 7
LISTVIEW (WIDGET LANJUTAN)
<ListView
android:id="@+id/simpleListView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:divider="@color/material_blue_grey_800"
android:dividerHeight="1dp" />
</LinearLayout>
Listview.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/textView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:padding="5dp"
android:text="Teks"
/>
</LinearLayout>
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
2. Base Adapter
BaseAdapter adalah kelas dasar umum dari implementasi umum dari Adapter yang
dapat digunakan di ListView. Setiap kali Anda membutuhkan daftar yang dapat
disesuaikan Anda membuat adapter Anda sendiri dan memperluas adapter dasar
di dalamnya. Adapter Dasar dapat diperluas untuk membuat Custom Adapter untuk
menampilkan item daftar khusus. ArrayAdapter juga merupakan implementasi dari
BaseAdapter.
Step 1: Create CustomListviewActivity pada project ygn telah ada, untuk layout
dapat gunakan LinearLayout.
Activity_custom_lsitview.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ListView
android:id="@+id/simpleListView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:divider="@color/material_blue_grey_800"
android:dividerHeight="1dp" />
</LinearLayout>
Custom_listview.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<ImageView
android:id="@+id/icon"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@mipmap/ic_launcher" />
<TextView
android:id="@+id/textView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:padding="16dp"
android:text="Teks"
android:textColor="@color/colorPrimaryDark" />
</LinearLayout>
Step 4 : buat class baru sebagai Custom Adapter CustomAdapter.java which will
extend BaseAdapter.
CustomAdapter.java
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
this.flags = flags;
inflter = (LayoutInflater.from(applicationContext));
}
@Override
public int getCount() {
return countryList.length;
}
@Override
public Object getItem(int i) {
return null;
}
@Override
public long getItemId(int i) {
return 0;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
view = inflter.inflate(R.layout.custom_listview, null);
TextView country = view.findViewById(R.id.textView);
ImageView icon = view.findViewById(R.id.icon);
country.setText(countryList[i]);
icon.setImageResource(flags[i]);
return view;
}
}
import android.os.Bundle;
import android.widget.ListView;
ListView simpleList;
String countryList[] = {"Indonesia","India", "China", "australia", "Portugle",
"America", "NewZealand"};
//Sebelumnay kita telah memasukkan gambar bendera pada folder drawable yg
terdapat pada pada project
int flags[] = {R.drawable.indonesia,R.drawable.india, R.drawable.china,
R.drawable.ic_launcher_background, R.drawable.portugal, R.drawable.usa,
R.drawable.newzealand};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_custom_listview);
setTitle("CUSTOM LIST");
simpleList = findViewById(R.id.simpleListView);
CustomAdapter customAdapter = new
CustomAdapter(getApplicationContext(), countryList, flags);
simpleList.setAdapter(customAdapter);
}
}