यह उदाहरण दर्शाता है कि कोटलिन का उपयोग करके Android RecyclerView पर चयनित आइटम को ठीक से कैसे हाइलाइट किया जाए।
चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें।
चरण 2 - निम्न कोड को res/layout/activity_main.xml में जोड़ें।
चरण 3 - निम्न कोड को src/MainActivity.kt में जोड़ें
import android.os.Bundleimport androidx.appcompat.app.AppCompatActivityimport androidx.recyclerview.widget.LinearLayoutManagerimport androidx.recyclerview.widget.RecyclerViewclass MainActivity:AppCompatActivity() {ओवरराइड फन ऑन क्रिएट (सेव्ड इंस्टेंसस्टेट:बंडल?) {सुपर. saveInstanceState) setContentView(R.layout.activity_main) शीर्षक ="KotlinApp" val recyclerView:RecyclerView =findViewById(R.id.recyclerView) recyclerView.addItemDecoration(SimpleItemDecoration(this)) वैल लेआउटमैनेजर =LinearLayoutManager([email protected]) लेआउटमैनेजर वैल पोस्ट्स =रिटर्नलिस्टआइटम्स () वैल एडॉप्टर =रिसाइक्लर व्यूएडाप्टर (यह @ मेनएक्टिविटी, पोस्ट्स) रिसाइक्लर व्यू.एडाप्टर =एडेप्टर} प्राइवेट फन रिटर्न लिस्टआइटम्स ():लिस्ट <आइटमऑब्जेक्ट>? { वैल आइटम:MutableList=ArrayList() items.add(ItemObject("Ballon'd'or", "2007", "Ricardo KaKa")) items.add(ItemObject("Ballon'd'or", "2008", "क्रिस्टियानो रोनाल्डो")) आइटम। जोड़ें (आइटमऑब्जेक्ट ("बैलोन'ड'ओर", "2009 - 2012, 2015", "लियोनेल मेस्सी")) आइटम। जोड़ें (आइटमऑब्जेक्ट ("बैलोन'डी'ओर ", "2013, 2014, 2016, 2017", "क्रिस्टियानो रोनाल्डो")) items.add(ItemObject("Ballon'd'or", "2018", "Luca Modric")) items.add(ItemObject("Ballon) 'd'or", "2019", "लियोनेल मेस्सी")) आइटम लौटाएं }}
चरण 4 − नीचे बताए अनुसार कोटलिन क्लास फाइल बनाएं और संबंधित कोड जोड़ें
ItemObject.kt -
<पूर्व>आंतरिक वर्ग ItemObject(वैल अवार्डशीर्षक:स्ट्रिंग, वैल अवार्डवर्ष:स्ट्रिंग, वैल प्लेयर:स्ट्रिंग) {}RecyclerViewAdapter.kt -
<पूर्व>आयात android.view.LayoutInflaterimport android.view.ViewGroupimport androidx.annotation.NonNullimport androidx.recyclerview.widget.RecyclerViewclass RecyclerViewAdapter आंतरिक कंस्ट्रक्टर (संदर्भ:MainActivity, Private val itemList:ListRecyclerViewHolders.kt -
आयात करें :टेक्स्ट व्यू वर प्लेयर:टेक्स्ट व्यू प्राइवेट वैल सिलेक्टेड आइटम्स =SparseBooleanArray () ओवरराइड फन ऑनक्लिक (व्यू:व्यू) {अगर (सिलेक्टेड इटम्स [एडाप्टर पोजीशन, फॉल्स]) { सिलेक्टेड आइटम्स। अडैप्टर पोजीशन, सच) view.isSelected =true } } init { itemView.setOnClickListener(this) AwardTitle =itemView.findViewById(R.id.awardTitle) AwardYear =itemView.findViewById(R.id.awardYear) खिलाड़ी =itemView.findViewById(R) .id.playerName) }}SimpleItemDecoration.kt -
<पूर्व>आयात android.content.Contextimport android.graphics.Canvasimport android.graphics.drawable.Drawableimport androidx.annotation.NonNullimport androidx.core.content.ContextCompatimport androidx.recyclerview.widget.RecyclerViewआंतरिक वर्ग SimpleItemDecoration(संदर्भ:प्रसंग):RecyclerView। ItemDecoration () {निजी वैल ड्रॉएबल:ड्राएबल =ContextCompat.getDrawable (संदर्भ, R.drawable.line_divider) !! ओवरराइड फन ऑन ड्रॉओवर (@NonNull कैनवास:कैनवास, पैरेंट:RecyclerView, @NonNull State:RecyclerView.State) {वैल लेफ्ट =पेरेंट.पैडिंग लेफ्ट वैल राइट =पेरेंट.विड्थ - पैरेंट.पैडिंग राइट वैल चाइल्डकाउंट =पेरेंट.चाइल्डकाउंट फॉर (i में 0 चाइल्डकाउंट तक) {वैल चाइल्ड =पेरेंट.गेटचाइल्डएट (i) वैल पैराम्स =चाइल्ड। लेआउटपरम्स रीसाइक्लर व्यू के रूप में। लेआउटपरम्स वैल टॉप =चाइल्ड.बॉटम + पैराम्स। बॉटममार्जिन वैल बॉटम =टॉप + ड्रॉएबल। , नीचे) drawable.draw(canvas) } }}चरण 5 − नीचे बताए अनुसार आकर्षित करने योग्य संसाधन फ़ाइलें बनाएं और संबंधित कोड जोड़ें
background_selecter.xml
<आइटम android:drawable="@android:color/holo_green_light" android:state_pressed="false" android:state_selected="true" /> line_divider.xml
<आकार xmlns:android="https://schemas.android.com/apk/res/android" android:shape="rectangle"> <आकार android:width="2dp" android:height="2dp" /> <सॉलिड एंड्रॉइड:color="@color/colorPrimaryDark" />चरण 6 - एक लेआउट संसाधन फ़ाइल बनाएं (list_layout.xml) और निम्न कोड जोड़ें
चरण 7 - निम्न कोड को androidManifest.xmlv
. में जोड़ें<एप्लिकेशन android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android) :theme="@style/AppTheme"> <गतिविधि android:name=".MainActivity"> <इरादे-फ़िल्टर> <कार्रवाई android:name="android.intent.action.MAIN" /> <श्रेणी android:name=" android.intent.category.LAUNCHER" /> आइए अपना एप्लिकेशन चलाने का प्रयास करें। मुझे लगता है कि आपने अपने वास्तविक Android मोबाइल डिवाइस को अपने कंप्यूटर से कनेक्ट कर लिया है। एंड्रॉइड स्टूडियो से ऐप चलाने के लिए, अपने प्रोजेक्ट की गतिविधि फाइलों में से एक को खोलें और रन पर क्लिक करें टूलबार से आइकन। एक विकल्प के रूप में अपने मोबाइल डिवाइस का चयन करें और फिर अपने मोबाइल डिवाइस की जांच करें जो आपकी डिफ़ॉल्ट स्क्रीन प्रदर्शित करेगा