এই উদাহরণটি দেখায় কিভাবে কোটলিন ব্যবহার করে অ্যান্ড্রয়েড ListView-এ একটি কাস্টম ফুটার ভিউ যোগ করা যায়। ফুটার লিস্টের শেষে থাকে এবং স্ক্রোলের সাথে együtt চলে।
প্রথম ধাপ: নতুন প্রজেক্ট তৈরি করুন
Android Studio-তে File → New Project এ যান এবং প্রয়োজনীয় বিবরণ পূরণ করে একটি নতুন প্রজেক্ট তৈরি করুন।
দ্বিতীয় ধাপ: মেইন লেআউট XML ডিজাইন করুন
res/layout/activity_main.xml ফাইলে নিচের কোড যোগ করুন:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
xmlns:tools="https://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="4dp"
tools:context=".MainActivity">
<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
</RelativeLayout>
তৃতীয় ধাপ: ফুটার লেআউট তৈরি করুন
res/layout/listview_footer.xml নামে একটি নতুন লেআউট রিসোর্স ফাইল তৈরি করুন এবং নিচের কোড যোগ করুন:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16sp"
android:text="ফুটার: লিস্টভিউর শেষে!"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
চতুর্থ ধাপ: MainActivity.kt তে লিস্টভিউ এবং ফুটার সেটআপ করুন
src/MainActivity.kt ফাইলে নিচের কোড যোগ করুন। মূল কোডে জেনেরিক টাইপ সিনট্যাক্স ত্রুটি ছিল (List>String<), সেটি সংশোধন করা হয়েছে:
import android.os.Bundle
import android.view.ViewGroup
import android.widget.ArrayAdapter
import android.widget.ListView
import androidx.appcompat.app.AppCompatActivity
import java.util.*
class MainActivity : AppCompatActivity() {
private lateinit var listView: ListView
private val country = arrayOf(
"ভারত", "অস্ট্রেলিয়া", "দক্ষিণ আফ্রিকা", "উত্তর আমেরিকা",
"দক্ষিণ আমেরিকা", "আইসল্যান্ড", "গ্রীনল্যান্ড"
)
private lateinit var listString: List<String>
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
title = "KotlinApp"
listView = findViewById(R.id.listView)
listString = ArrayList(Arrays.asList(*country))
val adapter = ArrayAdapter(
this,
android.R.layout.simple_list_item_1,
listString
)
val layoutInflater = layoutInflater
val footer = layoutInflater.inflate(R.layout.listview_footer, listView, false) as ViewGroup
listView.addFooterView(footer)
listView.adapter = adapter
}
}
পঞ্চম ধাপ: ম্যানিফেস্ট ফাইল
androidManifest.xml ফাইলটি সাধারণ থাকবে।
গুরুত্বপূর্ণ নোট
addFooterView()অবশ্যইsetAdapter()কল করার পূর্বে কল করতে হবে।- ফুটার ভিউতে ক্লিক লিসেনার যোগ করতে চাইলে
footer.setOnClickListener { ... }ব্যবহার করুন। - হেডার যোগ করতে
addHeaderView()ব্যবহার করুন। - মডার্ন অ্যান্ড্রয়েড ডেভেলপমেন্টে ListView-এর পরিবর্তে RecyclerView ব্যবহার করা সুপারিশ করা হয়, যেখানে footer যোগ করার জন্য ConcatAdapter বা ভিউ টাইপ ব্যবহার করা হয়।
অ্যাপ্লিকেশন চালানোর নির্দেশনা
অ্যান্ড্রয়েড ডিভাইস সংযুক্ত করে Run করুন। লিস্টভিউর নিচে স্ক্রোল করলে "ফুটার: লিস্টভিউর শেষে!" লেখাটি দেখাবে।