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

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

<घंटा/>

यह उदाहरण दर्शाता है कि मैं एंड्रॉइड में NestedScrollView के अंदर RecyclerView का उपयोग कैसे करूं।

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

निम्नलिखित निर्भरता को build.gradle में जोड़ें (मॉड्यूल:ऐप)

<पूर्व>कार्यान्वयन 'com.android.support:appcompat-v7:28.0.0'कार्यान्वयन 'com.android.support:design:28.0.0'कार्यान्वयन 'com.android.support:recyclerview-v7:28.0.0'कार्यान्वयन 'com.android.support:cardview-v7:28.0.0'कार्यान्वयन 'com.intuit.sdp:sdp-android:1.0.3'

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

      

चरण 3 - एक लेआउट संसाधन फ़ाइल बनाएं (list_item.xml) और निम्न कोड जोड़ें -

    

चरण 4 - नीचे बताए अनुसार जावा क्लास फाइल बनाएं और संबंधित कोड जोड़ें -

PhoneAdapter.java -

<पूर्व>आयात android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import java.util.List;import androidx.annotation.NonNull;import androidx.recyclerview. विजेट.RecyclerView;पब्लिक क्लास PhoneAdapter RecyclerView.Adapter{ निजी प्रसंग प्रसंग का विस्तार करता है; निजी सूची <उत्पादऑब्जेक्ट> उत्पादसूची; फोन एडेप्टर (संदर्भ संदर्भ, सूची <उत्पाद वस्तु> उत्पाद सूची) { यह। संदर्भ =संदर्भ; यह.उत्पादसूची =उत्पादसूची; } @NonNull @Override public PhoneViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { व्यू व्यू =LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item, parent, false); नया फोन व्यूहोल्डर लौटाएं (देखें); } @Override सार्वजनिक शून्य onBindViewHolder(PhoneViewHolder Holder, int position){ ProductObject productObject =productList.get(position); int imageRes =getResourceId (संदर्भ, productObject.getImagePath (), संदर्भ। getPackageName ()); धारक.फोनइमेज.सेटइमेज रिसोर्स (इमेजरेस); धारक.फोननाम.सेटटेक्स्ट (उत्पादऑब्जेक्ट.गेटनाम ()); } @Override सार्वजनिक int getItemCount () {वापसी productList.size (); } निजी स्थिर int getResourceId (संदर्भ संदर्भ, स्ट्रिंग pVariableName, स्ट्रिंग pPackageName) RuntimeException फेंकता है {कोशिश {वापसी संदर्भ। getResources ()। getIdentifier (pVariableName, "drawable", pPackageName); } पकड़ें (अपवाद ई) {नया रनटाइम अपवाद फेंकें ("संसाधन आईडी प्राप्त करने में त्रुटि।", ई); } }}

PhoneViewHolder.java -

import android.view.View;import android.widget.ImageView;import android.widget.TextView;import androidx.recyclerview.widget.RecyclerView;class PhoneViewHolder RecyclerView.ViewHolder {ImageView phoneImage; टेक्स्ट व्यू फोननाम; PhoneViewHolder (आइटम व्यू देखें) {सुपर (आइटम व्यू); फोननाम =itemView.findViewById (R.id.phoneName); फोनइमेज =itemView.findViewById (R.id.phoneImage); }} 

ProductObject.java -

क्लास प्रोडक्टऑब्जेक्ट {निजी स्ट्रिंग इमेजपाथ; निजी स्ट्रिंग नाम; ProductObject (स्ट्रिंग नाम, स्ट्रिंग इमेजपाथ) {this.imagePath =imagePath; यह नाम =नाम; } स्ट्रिंग getImagePath () {वापसी imagePath; } स्ट्रिंग getName () {वापसी का नाम; }} 

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

में जोड़ें
import androidx.appcompat.app.AppCompatActivity;import androidx.recyclerview.widget.GridLayoutManager;import androidx.recyclerview.widget.RecyclerView;import android.os.Bundle;import java.util.ArrayList;import java.util.List;पब्लिक क्लास मेनऐक्टिविटी AppCompatActivity का विस्तार करती है {@Override संरक्षित शून्य onCreate (बंडल सेव्ड इंस्टेंसस्टेट) {super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); RecyclerView bestRecyclerView =findViewById(R.id.productList); GridLayoutManager mGrid =नया GridLayoutManager (यह, 2); bestRecyclerView.setLayoutManager(mGrid); bestRecyclerView.setHasFixedSize(true); PhoneAdapter mAdapter =नया PhoneAdapter (MainActivity.this, getProductTestData ()); bestRecyclerView.setAdapter(mAdapter); } निजी सूची getProductTestData() { सूची विशेष रुप से प्रदर्शित उत्पाद =नया ArrayList<>(); फीचर्ड प्रोडक्ट्स.एड (नया प्रोडक्टऑब्जेक्ट ("आईफोन 6", "आईफोन 2")); फीचर्ड प्रोडक्ट्स.एड (नया प्रोडक्टऑब्जेक्ट ("आईफोन 6 एस", "आईफोन 2")); फीचर्ड प्रोडक्ट्स.एड (नया प्रोडक्टऑब्जेक्ट ("आईफोन 8 एस", "आईफोन 2")); फीचर्ड प्रोडक्ट्स.एड (नया प्रोडक्टऑब्जेक्ट ("आईफोन एक्स", "आईफोन 2")); फीचर्ड प्रोडक्ट्स.एड (नया प्रोडक्टऑब्जेक्ट ("आईफोन एक्सआर", "आईफोन 2")); फीचर्ड प्रोडक्ट्स.एड (नया प्रोडक्टऑब्जेक्ट ("आईफोन एक्सएस", "आईफोन 2")); विशेष रुप से प्रदर्शित उत्पाद लौटाएं; }} 

चरण 6 - निम्नलिखित कोड को androidManifest.xml में जोड़ें

 <एप्लिकेशन एंड्रॉइड:अनुमति बैकअप ="सच" एंड्रॉइड:आइकन ="@ मिपमैप / आईसी_लॉन्चर" एंड्रॉइड:लेबल ="@ स्ट्रिंग / ऐप_नाम" एंड्रॉइड:राउंडआईकॉन ="@ मिपमैप / आईसी_लॉन्चर_राउंड" एंड्रॉइड:सपोर्ट आरटीएल ="सच" एंड्रॉइड :theme="@style/AppTheme"> <गतिविधि android:name=".MainActivity"> <इरादे-फ़िल्टर> <कार्रवाई android:name="android.intent.action.MAIN" /> <श्रेणी android:name=" android.intent.category.LAUNCHER" />   

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

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


  1. एंड्रॉइड में स्नैकबार का उपयोग कैसे करें?

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

  1. एंड्रॉइड में डेटाबेस के साथ रीसाइक्लरव्यू का उपयोग कैसे करें?

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

  1. एंड्रॉइड में नेविगेशन व्यू का उपयोग कैसे करें?

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