Rizky Maulana Rainda

College Student

Information Technology

at UNPI Cianjur

Coder

Jumat, 17 Juni 2022

Membuat Custom List View di Android Studio

Halo semuanya, perkenalkan saya Rizky Maulana Rainda (NIM : 187200028), Mahasiswa Semester 8 Universitas Putra Indonesia (UNPI CIANJUR), Fakultas Teknik Informatika, Kelas Reguler Sore.

 


Pada kesempatan kali ini saya akan membuat custom listView di Android Studio, yang merupakan Tugas UTS Saya dalam mata kuliah Mobile Programming II, Dengan Dosen pengampu saya Yth., Bpk. Buhori Muslim, ST, M.Kom.

Berikut Source Code Aplikasi Tersebut :

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.androidrion.customlistview1">

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="UTS Rizky Maulana Rainda"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>

</manifest>

MainActivity.java

package com.androidrion.customlistview1;

import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

ListView lv;

int[] iconList = new int[]{
R.drawable.asusrogphone, R.drawable.iphone13, R.drawable.samsungs22, R.drawable.samsungzfold
};

String[] Headline = {"Asus Rog Phone", "iPhone 13 Pro",
"Samsung Galaxy S22", "Samsung Z Fold",

};

String[] Subhead = {"Asus Rog Phone Merupakan HP yang Dikhususkan untuk Gaming Mobile",
"iPhone 13 Pro merupakan HP iPhone Terbaik dengan Performa terbaik dari Apple",
"Samsung Galaxy S22 Merupakan HP Flaghsip dari Samsung dengan Performa terbaik dikelasnya",
"Samsung Z Fold Merupakan Smartphone yang mempunyai desain layar besar yang bisa di lipat"

};

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

lv = findViewById(R.id.list);
ListAdapter listAdapter = new ListAdapter(this, iconList, Headline, Subhead);
lv.setAdapter(listAdapter);
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

Toast.makeText(getApplicationContext(),
"You have selected : " + Headline[position],
Toast.LENGTH_SHORT).show();

}
});

}


}

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">

<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content" />

</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="wrap_content"
android:orientation="horizontal"
android:padding="16dp">

<ImageView
android:id="@+id/imageList"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" />

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:orientation="vertical">

<TextView
android:id="@+id/text_headline"
style="@style/TextAppearance.AppCompat.Title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="Headline" />

<TextView
android:id="@+id/text_subhead"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="Subhead" />
</LinearLayout>
</LinearLayout>

ListAdapter.java 

package com.androidrion.customlistview1;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

public class ListAdapter extends ArrayAdapter {

private int[] Icon;
private String[] Headline;
private String[] Subhead;
private Context context;

ListAdapter(@NonNull Context context, int[] icon, String[] headline, String[] subhead) {
super(context, R.layout.custom_listview, headline);
this.Icon = icon;
this.Headline = headline;
this.Subhead = subhead;
this.context = context;
}

@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
LayoutInflater layoutInflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = layoutInflater.inflate(R.layout.custom_listview, null, true);
ImageView icon = view.findViewById(R.id.imageList);
TextView headline = view.findViewById(R.id.text_headline);
TextView subhead = view.findViewById(R.id.text_subhead);

icon.setImageResource(Icon[position]);
headline.setText(Headline[position]);
subhead.setText(Subhead[position]);
return view;
}
}

Dan berikut screenshoot hasil running aplikasi nya :

Untuk Projectnya bisa didownload dilink berikut : Klik Disini
Cukup sekian dari saya, saya ucapkan Terima Kasih.


Hanya Seorang Mahasiswa Fakultas Teknik UNPI Semester 3. Semoga Artikel dan informasi disini bermanfaat

0 komentar:

Posting Komentar

Contact Me

Formulir Kontak

Nama

Email *

Pesan *

Arsip Blog

Cari Blog Ini

Share Social Media

Map

Hell Yeah Pointer 2

Adress/Street

Jl. Dr. Muwardi Gg. Perjuangan No.66, Muka, Kec. Cianjur, Kabupaten Cianjur, Jawa Barat 46113

Phone number

+(62) 813 1204 2431

Website

www.UNPI-Cianjur.ac.id