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 :