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

Android RecyclerView पर स्ट्रिंग्स को कैसे सॉर्ट करें?

<घंटा/>

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

यह उदाहरण दर्शाता है कि उम्र के साथ छात्र का नाम प्रदर्शित करने वाला एक सुंदर छात्र रिकॉर्ड ऐप बनाकर सॉर्ट किए गए पुनर्चक्रण दृश्य को कैसे एकीकृत किया जाए।

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

चरण 2 - बिल्ड.ग्रेडल खोलें और रिसाइकलर व्यू लाइब्रेरी डिपेंडेंसी जोड़ें।

<पूर्व>प्लगइन लागू करें:'com.android.application'android {compileSdkVersion 28 defaultConfig { applicationId "com.example.andy.tutorialspoint" minSdkVersion 19 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:design:28.0.0' कार्यान्वयन 'com.android.support.constraint:constraint-layout:1.1.3' कार्यान्वयन 'com.android.support:recyclerview-v7:28.0.0' testImplementation 'junit:junit:4.12' androidTestImplementation 'com.android.support.test:runner:1.0.2' androidTestImplementation 'com.android.support.test.espresso :एस्प्रेसो-कोर:3.0.2'}

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

 

उपरोक्त कोड में, हमने विंडो मैनेजर में रिलेटिव पैरेंट लेआउट के रूप में रिसाइकलर व्यू जोड़ा है।

चरण 4 - निम्न कोड को src/MainActivity.java

में जोड़ें <पूर्व>पैकेज com.example.andy.tutorialspoint;import android.annotation.TargetApi;import android.os.Build;import android.os.Bundle;import android.support.annotation.RequiresApi;import android.support.design.widget .TabLayout;import android.support.v4.view.ViewPager;import android.support.v7.app.AppCompatActivity;import android.support.v7.widget.DividerItemDecoration;import android.support.v7.widget.LinearLayoutManager;import android. support.v7.widget.RecyclerView;import android.support.v7.widget.Toolbar;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;public class MainActivity AppCompatActivity को बढ़ाता है {निजी RecyclerView recyclerView; निजी छात्र अनुकूलक छात्र अनुकूलक; निजी सूची छात्रडेटालिस्ट =नया ऐरेलिस्ट <> (); @TargetApi(Build.VERSION_CODES.O) @Override संरक्षित शून्य onCreate (बंडल सेव्ड इंस्टेंसस्टेट) {super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); recyclerView =findViewById (R.id.recycler_view); छात्र एडाप्टर =नया छात्र एडाप्टर (छात्रडेटा सूची); RecyclerView.LayoutManager प्रबंधक =नया LinearLayoutManager (यह); recyclerView.setLayoutManager (प्रबंधक); recyclerView.addItemDecoration (नया डिवाइडर इटैमडेकोरेशन (यह, LinearLayoutManager.VERTICAL)); recyclerView.setAdapter (छात्र एडेप्टर); छात्रडेटा तैयार (); } @RequiresApi(api =Build.VERSION_CODES.N) निजी शून्य StudentDataPrepare() {छात्रडेटा डेटा =नया छात्रडेटा ("sai",25); छात्रडेटा सूची। जोड़ें (डेटा); डेटा =नया छात्रडेटा ("साई", 25); छात्रडेटा सूची। जोड़ें (डेटा); डेटा =नया छात्रडेटा ("रघु", 20); छात्रडेटा सूची। जोड़ें (डेटा); डेटा =नया छात्रडेटा ("राज", 28); छात्रडेटा सूची। जोड़ें (डेटा); डेटा =नया छात्रडेटा ("अमर", 15); छात्रडेटा सूची। जोड़ें (डेटा); डेटा =नया छात्रडेटा ("बापू", 19); छात्रडेटा सूची। जोड़ें (डेटा); डेटा =नया छात्रडेटा ("चंद्र", 52); छात्रडेटा सूची। जोड़ें (डेटा); डेटा =नया छात्रडेटा ("डेरज", 30); छात्रडेटा सूची। जोड़ें (डेटा); डेटा =नया छात्रडेटा ("ईशांत", 28); छात्रडेटा सूची। जोड़ें (डेटा); Collections.sort(studentDataList, new Comparator() {@Override public int तुलना (studentData o1, studentData o2) {वापसी o1.name.compareTo(o2.name); }}); }}

उपरोक्त कोड में, हमने एक पुनर्चक्रण दृश्य और छात्र एडेप्टर जोड़ा है। उस छात्र एडाप्टर में, हमने छात्रडेटालिस्ट को ArrayList के रूप में पास कर दिया है। विद्यार्थी में, डेटा सूची में विद्यार्थी का नाम और उम्र होती है।

रिसाइकलर व्यू आइटम की तुलना करने के लिए हमने नीचे दिखाए गए अनुसार संग्रह ढांचे और सॉर्ट विधि का उपयोग किया है -

Collections.sort(studentDataList, new Comparator() { @Override public int तुलना (studentData o1, studentData o2) {वापसी o1.name.compareTo(o2.name); }});

उपरोक्त कोड में, हम नाम का उपयोग करके तत्वों की तुलना कर रहे हैं।

चरण 5 - संशोधित फ़ाइल src/StudentAdapter.java की सामग्री निम्नलिखित है।

पैकेज com.example.andy.tutorialspoint;import android.support.annotation.NonNull;import android.support.v7.widget.RecyclerView;import android.view.LayoutInflater;import android.view.View;import android.view .ViewGroup;import android.widget.TextView;import java.util.List;class StudentAdapter RecyclerView.Adapter का विस्तार करता है { List StudentDataList; पब्लिक स्टूडेंट एडॉप्टर (लिस्ट स्टूडेंटडेटालिस्ट) {this.studentDataList=studentDataList; } @NonNull @Override public MyViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) { देखें itemView =LayoutInflater.from(viewGroup.getContext()) .inflate(R.layout.student_list_row, viewGroup, false); नया MyViewHolder (आइटम व्यू) लौटाएं; } @Override सार्वजनिक शून्य onBindViewHolder(MyViewHolder viewHolder, int i) { studentData data=studentDataList.get(i); viewHolder.name.setText (data.name); viewHolder.age.setText(String.valueOf(data.age)); } @Override सार्वजनिक int getItemCount () {वापसी studentDataList.size (); } वर्ग MyViewHolder RecyclerView.ViewHolder को बढ़ाता है { TextView नाम, आयु; सार्वजनिक MyViewHolder (आइटम व्यू देखें) {सुपर (आइटम व्यू); name=itemView.findViewById(R.id.name); आयु =itemView.findViewById (R.id.age); } }}

एडेप्टर वर्ग में, हमारे पास नीचे दिखाए गए चार तरीके हैं -

ऑनक्रिएट व्यूहोल्डर () - इसका उपयोग व्यू होल्डर बनाने के लिए किया जाता है और यह एक व्यू देता है।

onBindViewHolder() - यह बनाए गए व्यू होल्डर के साथ जुड़ने वाला है।

getItemCount () - इसमें सूची का आकार होता है।

MyViewHolder वर्ग - यह व्यू होल्डर इनर क्लास है जिसे RecyclerView.ViewHolder

. द्वारा बढ़ाया गया है

चरण 6 - XML ​​res/layout/student_list_row.xml की संशोधित सामग्री निम्नलिखित है।

  <टेक्स्ट व्यू एंड्रॉइड:आईडी ="@ + आईडी / आयु" एंड्रॉइड:लेआउट_विड्थ ="0 डीपी" एंड्रॉइड:लेआउट_वेट ="0.5" एंड्रॉइड :गुरुत्वाकर्षण="केंद्र" android:textSize="15sp" android:layout_height="100dp" />

उपरोक्त सूची आइटम दृश्य में, हमने नाम और उम्र के लिए दो टेक्स्ट व्यू बनाए हैं।

चरण 7 - संशोधित फ़ाइल src/ studentData.java की सामग्री निम्नलिखित है।

पैकेज com.example.andy.tutorialspoint;class studentData { String name; पूर्ण आयु; सार्वजनिक छात्रडेटा (स्ट्रिंग नाम, अंतर आयु) { यह नाम =नाम; यह आयु =आयु; }} 

उपरोक्त कोड में छात्र डेटा ऑब्जेक्ट के बारे में सूचित करता है। आइए अपना एप्लिकेशन चलाने का प्रयास करें। मुझे लगता है कि आपने अपने वास्तविक Android मोबाइल डिवाइस को अपने कंप्यूटर से कनेक्ट कर लिया है। एंड्रॉइड स्टूडियो से ऐप चलाने के लिए, अपने प्रोजेक्ट की गतिविधि फ़ाइलों में से एक खोलें और टूलबार से रन आइकन पर क्लिक करें। एक विकल्प के रूप में अपने मोबाइल डिवाइस का चयन करें और फिर अपने मोबाइल डिवाइस की जांच करें जो आपकी डिफ़ॉल्ट स्क्रीन प्रदर्शित करेगा -

Android RecyclerView पर स्ट्रिंग्स को कैसे सॉर्ट करें?

उपरोक्त परिणाम में हमने Alphabetic A से डेटा दिखाया है। अब नीचे स्क्रॉल करें। यह नीचे दिखाए अनुसार परिणाम दिखाता है -

Android RecyclerView पर स्ट्रिंग्स को कैसे सॉर्ट करें?


  1. Android में NestedScrollView के अंदर RecyclerView का उपयोग कैसे करें?

    यह उदाहरण दर्शाता है कि मैं एंड्रॉइड में NestedScrollView के अंदर RecyclerView का उपयोग कैसे करूं। चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें। निम्नलिखित निर्भरता को build.gradle में जोड़ें (मॉड्यूल:ऐप)

  1. एंड्रॉइड में विभिन्न स्क्रीन आकार का समर्थन कैसे करें?

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

  1. एंड्रॉइड में टेक्स्ट व्यू में टेक्स्ट को जस्टिफाई कैसे करें?

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