Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Android

एंड्रॉइड में कस्टम सूचीदृश्य कैसे बनाएं?

<घंटा/>

सूचीदृश्य उदाहरण में आने से पहले, हमें सूचीदृश्य के बारे में पता होना चाहिए, सूचीदृश्य सरणी सूची, सूची या किसी भी डेटाबेस से खींची गई वस्तुओं का संग्रह है। सूचीदृश्य के अधिकांश उपयोग लंबवत प्रारूप में वस्तुओं का संग्रह है, हम ऊपर/नीचे स्क्रॉल कर सकते हैं और किसी भी आइटम पर क्लिक कर सकते हैं।

कस्टम सूचीदृश्य क्या है?

कस्टम एडाप्टर के आधार पर कस्टम सूचीदृश्य काम करता है। इस कस्टम एडेप्टर में हम कस्टम ऑब्जेक्ट पास कर सकते हैं। हम विषय डेटा को सूचीदृश्य में भेज रहे हैं जैसा कि नीचे दिखाया गया है -

चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें।

चरण 2 - निम्न कोड को res/layout/activity_main.xml में जोड़ें।

 

ऊपर दिए गए 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); ArrayList arrayList =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 लागू करता है { ArrayList arrayList; प्रसंग संदर्भ; सार्वजनिक कस्टम एडेप्टर (संदर्भ संदर्भ, ArrayList arrayList) { this.arrayList=arrayList; यह.संदर्भ =संदर्भ; } @ ओवरराइड पब्लिक बूलियन areAllItemsEnabled() { रिटर्न फॉल्स; } @ ओवरराइड पब्लिक बूलियन isEnabled (इंट पोजीशन) { रिटर्न ट्रू; } @ ओवरराइड पब्लिक शून्य रजिस्टरडेटासेट ऑब्जर्वर (डेटासेट ऑब्जर्वर ऑब्जर्वर) { } @ ओवरराइड पब्लिक वॉयड अनरजिस्टरडेटासेट ऑब्जर्वर (डेटासेट ऑब्जर्वर ऑब्जर्वर) { } @ ओवरराइड पब्लिक इंट गेटकाउंट () {रिटर्न ऐरेलिस्ट। साइज (); } @ ओवरराइड पब्लिक ऑब्जेक्ट getItem (इंट पोजीशन) {रिटर्न पोजीशन; } @ ओवरराइड पब्लिक लॉन्ग getItemId (इंट पोजीशन) {रिटर्न पोजीशन; } @ ओवरराइड पब्लिक बूलियन hasStableIds() { रिटर्न फॉल्स; } @ ओवरराइड पब्लिक व्यू getView (इंट पोजीशन, व्यू कन्वर्ट व्यू, व्यूग्रुप पैरेंट) { सब्जेक्टडाटा सब्जेक्टडाटा =एरेलिस्ट.गेट (पोजिशन); if(convertView==null) { LayoutInflater LayoutInflater =LayoutInflater.from(context); ConvertView=layoutInflater.inflate(R.layout.list_row, null); कन्वर्ट व्यू.सेटऑनक्लिक लिस्टनर (नया व्यू। ऑनक्लिक लिस्टनर () {@ ओवरराइड पब्लिक वॉयड ऑनक्लिक (व्यू वी) {}}); TextView tittle=convertView.findViewById(R.id.title); ImageView imag=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 - इंटरनेट जानकारी तक पहुंचने के लिए, हमें नीचे दिखाए गए अनुसार फ़ाइल को प्रकट करने के लिए इंटरनेट की अनुमति देनी होगी।

<उपयोग-अनुमति 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 मोबाइल डिवाइस को अपने कंप्यूटर से कनेक्ट कर लिया है। एंड्रॉइड स्टूडियो से ऐप चलाने के लिए, अपने प्रोजेक्ट की गतिविधि फाइलों में से एक को खोलें और रन पर क्लिक करें टूलबार से एंड्रॉइड में कस्टम सूचीदृश्य कैसे बनाएं? आइकन। एक विकल्प के रूप में अपने मोबाइल डिवाइस का चयन करें और फिर अपने मोबाइल डिवाइस की जांच करें जो आपकी डिफ़ॉल्ट स्क्रीन प्रदर्शित करेगा।

एंड्रॉइड में कस्टम सूचीदृश्य कैसे बनाएं?


  1. एंड्रॉइड ऐप में कस्टम अलर्ट डायलॉग कैसे बनाएं?

    यह उदाहरण दर्शाता है कि मैं एंड्रॉइड में टेक्स्ट व्यू पर एक विशिष्ट टेक्स्ट को कैसे बोल्ड कर सकता हूं। चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें। चरण 2 - निम्न कोड को res/layout/activity_main.xml में ज

  1. एंड्रॉइड में कस्टम रेटिंग बार कैसे बनाएं?

    यह उदाहरण दर्शाता है कि मैं एंड्रॉइड में कस्टम रेटिंग बार कैसे बना सकता हूं। चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें। चरण 2 - निम्न कोड को res/layout/activity_main.xml में जोड़ें। चरण 3 - निम्न क

  1. एंड्रॉइड ऐप में मल्टीलेवल लिस्ट व्यू कैसे बनाएं?

    यह उदाहरण दर्शाता है कि मैं एंड्रॉइड में एक बहुस्तरीय सूची कैसे बना सकता हूं। चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें। चरण 2 - निम्न कोड को res/layout/activity_main.xml में जोड़ें। चरण 3 - निम्न क