सूचीदृश्य उदाहरण में आने से पहले, हमें सूचीदृश्य के बारे में पता होना चाहिए, सूचीदृश्य सरणी सूची, सूची या किसी भी डेटाबेस से खींची गई वस्तुओं का संग्रह है। सूचीदृश्य के अधिकांश उपयोग लंबवत प्रारूप में वस्तुओं का संग्रह है, हम ऊपर/नीचे स्क्रॉल कर सकते हैं और किसी भी आइटम पर क्लिक कर सकते हैं।
कस्टम सूचीदृश्य क्या है?
कस्टम एडाप्टर के आधार पर कस्टम सूचीदृश्य काम करता है। इस कस्टम एडेप्टर में हम कस्टम ऑब्जेक्ट पास कर सकते हैं। जैसा कि नीचे दिखाया गया है, हम विषय डेटा को सूचीदृश्य में भेज रहे हैं।
चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें।
चरण 2 - निम्न कोड को res/layout/activity_main.xml में जोड़ें।
<सूची दृश्य एंड्रॉइड:आईडी ="@ + आईडी / सूची" एंड्रॉइड:लेआउट_विड्थ ="रैप_कंटेंट" एंड्रॉइड:लेआउट_हाइट ="मैच_पेरेंट" एंड्रॉइड:डिवाइडर ="# 000" एंड्रॉइड:डिवाइडरहाइट ="1 डीपी" एंड्रॉइड:फूटर डिवाइडर सक्षम ="झूठा" एंड्रॉइड:हैडर डिवाइडर इनेबल्ड ="झूठा"/>
ऊपर दिए गए activity_main.xml में, हमने एक सूचीदृश्य घोषित किया है और नीचे दिखाए अनुसार डिवाइडर जोड़ा है।
पूर्व> चरण 3 - निम्न कोड को src/MainActivity.java
में जोड़ेंimport android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.widget.ListView;import java.util.ArrayList;public class MainActivity AppCompatActivity का विस्तार करती है {@Override संरक्षित शून्य onCreate(Bundle saveInstanceState) { सुपर.ऑनक्रेट (सेव्ड इंस्टेंसस्टेट); setContentView(R.layout.activity_main); अंतिम सूची दृश्य सूची =findViewById (R.id.list); ArrayListarrayList =new ArrayList (); arrayList.add (नया विषयडेटा ("जावा", "https://www.tutorialspoint.com/java/", "https://www.tutorialspoint.com/java/images/java-mini-logo.jpg") ); arrayList.add (नया विषयडेटा ("पायथन", "https://www.tutorialspoint.com/python/", "https://www.tutorialspoint.com/python/images/python-mini.jpg")); arrayList.add (नया विषयडेटा ("जावास्क्रिप्ट", "https://www.tutorialspoint.com/javascript/", "https://www.tutorialspoint.com/javascript/images/javascript-mini-logo.jpg") ); arrayList.add (नया विषयडेटा ("सीप्रोग्रामिंग", "https://www.tutorialspoint.com/cprogramming/", "https://www.tutorialspoint.com/cprogramming/images/c-mini-logo.jpg") ); arrayList.add (नया सब्जेक्टडेटा ("Cplusplus", "https://www.tutorialspoint.com/cplusplus/", "https://www.tutorialspoint.com/cplusplus/images/cpp-mini-logo.jpg") ); arrayList.add (नया विषयडेटा ("एंड्रॉइड", "https://www.tutorialspoint.com/android/", "https://www.tutorialspoint.com/android/images/android-mini-logo.jpg") ); कस्टम एडेप्टर कस्टम एडेप्टर =नया कस्टम एडेप्टर (यह, सरणी सूची); list.setAdapter(customAdapter); }}पूर्व> mainActivity में, हमने CustomAdapter घोषित किया है और नीचे दिखाए गए सब्जेक्टडेटा को पास किया है।
कस्टमएडाप्टर कस्टमएडाप्टर =नया कस्टमएडाप्टर(यह, एरेलिस्ट);list.setAdapter(customAdapter);चरण 4 − एक CustomAdapter वर्ग बनाएं src/ CustomAdapter.java
में निम्न कोड जोड़ें <पूर्व>आयात android.content.Context;import android.database.DataSetObserver;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.ImageView;import android.widget. ListAdapter;import android.widget.TextView;import com.squareup.picasso.Picasso;import java.util.ArrayList;class CustomAdapter ListAdapter लागू करता है { ArrayListarrayList; प्रसंग संदर्भ; सार्वजनिक कस्टम एडेप्टर (संदर्भ संदर्भ, ArrayList arrayList) { this.arrayList=arrayList; यह.संदर्भ =संदर्भ; } @ ओवरराइड पब्लिक बूलियन areAllItemsEnabled() { रिटर्न फॉल्स; } @ ओवरराइड पब्लिक बूलियन isEnabled (इंट पोजीशन) { रिटर्न ट्रू; } @ ओवरराइड पब्लिक शून्य रजिस्टरडेटासेट ऑब्जर्वर (डेटासेट ऑब्जर्वर ऑब्जर्वर) { } @ ओवरराइड पब्लिक वॉयल अनरजिस्टरडेटासेट ऑब्जर्वर (डेटासेट ऑब्जर्वर ऑब्जर्वर) { } @ ओवरराइड पब्लिक इंट गेटकाउंट () {रिटर्न ऐरेलिस्ट। साइज (); } @ ओवरराइड पब्लिक ऑब्जेक्ट getItem (इंट पोजीशन) {रिटर्न पोजीशन; } @ ओवरराइड पब्लिक लॉन्ग getItemId (इंट पोजीशन) {रिटर्न पोजीशन; } @ ओवरराइड पब्लिक बूलियन hasStableIds() { रिटर्न फॉल्स; } @ ओवरराइड पब्लिक व्यू getView (इंट पोजीशन, व्यू कन्वर्ट व्यू, व्यूग्रुप पैरेंट) { सब्जेक्टडाटा सब्जेक्टडाटा =ऐरेलिस्ट.गेट (पोजिशन); अगर (कन्वर्ट व्यू ==नल) {लेआउट इन्फ्लेटर लेआउट इन्फ्लेटर =लेआउट इन्फ्लेटर.फ्रॉम (संदर्भ); ConvertView =लेआउटइन्फ्लेटर.इनफ्लेट (R.layout.list_row, null); कन्वर्ट व्यू.सेटऑनक्लिक लिस्टनर (नया व्यू। ऑनक्लिक लिस्टनर () {@ ओवरराइड पब्लिक वॉयड ऑनक्लिक (व्यू वी) {}}); TextView tittle =ConvertView.findViewById(R.id.title); ImageView इमेज =ConvertView.findViewById(R.id.list_image); tittle.setText (subjectData.SubjectName); Picasso.with(context) .load(subjectData.Image) .into(imag); } कन्वर्ट व्यू लौटाएं; } @ ओवरराइड पब्लिक इंट getItemViewType (इंट पोजीशन) {रिटर्न पोजीशन; } @ ओवरराइड पब्लिक इंट getViewTypeCount () {रिटर्न arrayList.size (); } @ ओवरराइड सार्वजनिक बूलियन खाली है () {झूठी वापसी; }}पूर्व> चरण 5 - एक सब्जेक्टडेटा क्लास बनाएं, निम्नलिखित कोड को src/SubjectData.java
में जोड़ेंक्लास सब्जेक्टडेटा {स्ट्रिंग सब्जेक्टनाम; स्ट्रिंग लिंक; स्ट्रिंग छवि; सार्वजनिक विषयडेटा (स्ट्रिंग विषयनाम, स्ट्रिंग लिंक, स्ट्रिंग छवि) { यह। विषयनाम =विषयनाम; यह। लिंक =लिंक; यह। छवि =छवि; }}पूर्व>चरण 6 - CustomAdapter वर्ग में हमने इंटरनेट स्रोत छवि दिखाई है। इंटरनेट स्रोत छवि दिखाने के लिए। जैसा कि नीचे दिखाया गया है, हमने पिकासो पुस्तकालय जोड़ा है।
Picasso.with(context).load(subjectData.Image).into(imag);चरण 7 - पिकासो पुस्तकालय के कार्यान्वयन के लिए, हमें पिकासो पुस्तकालय को ग्रेडल में जोड़ना होगा जैसा कि नीचे दिखाया गया है
<पूर्व>प्लगइन लागू करें:'com.android.application'android {compileSdkVersion 28 defaultConfig { applicationId "com.example.andy.myapplication" minSdkVersion 15 targetSdkVersion 28 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner " } बिल्डटाइप्स {रिलीज {minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'} }}निर्भरता {कार्यान्वयन fileTree(dir:'libs', शामिल हैं:['*.jar'] ) कार्यान्वयन 'com.android.support:appcompat-v7:28.0.0' कार्यान्वयन 'com.android.support.constraint:constraint-layout:1.1.3' परीक्षणकार्यान्वयन 'junit:junit:4.12' कार्यान्वयन 'com.squareup.picasso :picasso:2.5.1' androidTestImplementation 'com.android.support.test:runner:1.0.2' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'}चरण 8 - इंटरनेट की जानकारी तक पहुंचने के लिए, हमें नीचे दिखाए गए अनुसार फ़ाइल को प्रकट करने के लिए इंटरनेट की अनुमति देनी होगी
<मेनिफेस्ट xmlns:android ="https://schemas.android.com/apk/res/android"package ="com.example. andy.myapplication"><उपयोग-अनुमति android:name ="android.permission.INTERNET"/> <एप्लिकेशन android:allowBackup ="true" android:icon ="@mipmap/ic_launcher" android:label ="@string/app_name "एंड्रॉइड:राउंडआईकॉन =" @ मिपमैप / आईसी_लॉन्चर_राउंड "एंड्रॉइड:सपोर्ट आरटीएल ="ट्रू" एंड्रॉइड:थीम ="@ स्टाइल / ऐपथीम"> <गतिविधि एंड्रॉइड:नाम ="। मेनएक्टिविटी"> <इरादे-फिल्टर> <कार्रवाई एंड्रॉइड:नाम ="android.intent.action.MAIN" /> <श्रेणी android:name ="android.intent.category.LAUNCHER" />आइए अपना एप्लिकेशन चलाने का प्रयास करें। मुझे लगता है कि आपने अपने वास्तविक Android मोबाइल डिवाइस को अपने कंप्यूटर से कनेक्ट कर लिया है। एंड्रॉइड स्टूडियो से ऐप चलाने के लिए, अपने प्रोजेक्ट की गतिविधि फ़ाइलों में से एक खोलें और टूलबार से रन आइकन पर क्लिक करें। एक विकल्प के रूप में अपने मोबाइल डिवाइस का चयन करें और फिर अपने मोबाइल डिवाइस की जांच करें जो आपकी डिफ़ॉल्ट स्क्रीन प्रदर्शित करेगा।
हम आप विषय पर क्लिक करते हैं, यह नीचे दिखाए गए लिंक को खोल देगा