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

RecyclerView में क्लिक किए गए आइटम और उसकी पोजीशन कैसे प्राप्त करें?

RecyclerView में आइटम क्लिक और पोजीशन प्राप्त करना

यह उदाहरण RecyclerView में क्लिक किए गए आइटम और उसकी पोजीशन प्राप्त करने को दर्शाता है।

चरण 1: नया प्रोजेक्ट बनाएं

Android Studio में File → New Project पर जाएं और आवश्यक विवरण भरकर एक नया प्रोजेक्ट बनाएं।

चरण 2: res/layout/activity_main.xml में कोड जोड़ें

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:app="https://schemas.android.com/apk/res-auto">
    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <android.support.v7.widget.Toolbar
            android:id="@+id/appbarlayout_tool_bar"
            android:background="@color/colorPrimary"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:layout_scrollFlags="scroll|snap|enterAlways"
            app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
    </android.support.design.widget.AppBarLayout>
    <android.support.v7.widget.RecyclerView
        android:id="@+id/recycler_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
</android.support.design.widget.CoordinatorLayout>

चरण 3: src/MainActivity.java में कोड जोड़ें

package com.example.myapplication;

import android.annotation.TargetApi;
import android.os.Build;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.DefaultItemAnimator;
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 android.widget.Toast;
import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {
    ArrayList<String> list = new ArrayList<>();
    private RecyclerView recyclerView;
    private CustomAdapter mAdapter;
    private OnClickInterface onclickInterface;

    @TargetApi(Build.VERSION_CODES.LOLLIPOP)
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Toolbar toolbar = findViewById(R.id.appbarlayout_tool_bar);
        toolbar.setTitle("This is toolbar.");
        setSupportActionBar(toolbar);

        onclickInterface = new OnClickInterface() {
            @Override
            public void setClick(int abc) {
                list.remove(abc);
                Toast.makeText(MainActivity.this, "Position is " + abc, Toast.LENGTH_LONG).show();
                mAdapter.notifyDataSetChanged();
            }
        };

        recyclerView = findViewById(R.id.recycler_view);
        RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(getApplicationContext());
        recyclerView.setLayoutManager(mLayoutManager);
        recyclerView.setItemAnimator(new DefaultItemAnimator());
        mAdapter = new CustomAdapter(this, list, onclickInterface);
        recyclerView.setAdapter(mAdapter);
        recyclerView.addItemDecoration(new DividerItemDecoration(recyclerView.getContext(), DividerItemDecoration.VERTICAL));

        list.add("sairamm");
        list.add("Krishna");
        list.add("prasad");
        // ... अधिक आइटम जोड़ें
    }
}

चरण 4: src/CustomAdapter.java में कोड जोड़ें

package com.example.myapplication;

import android.content.Context;
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.ArrayList;

public class CustomAdapter extends RecyclerView.Adapter<CustomAdapter.MyViewHolder> {
    Context context;
    ArrayList<String> list;
    OnClickInterface onClickInterface;

    public class MyViewHolder extends RecyclerView.ViewHolder {
        public TextView title;

        public MyViewHolder(View view) {
            super(view);
            title = view.findViewById(R.id.title);
        }
    }

    public CustomAdapter(Context context, ArrayList<String> list, OnClickInterface onClickInterface) {
        this.context = context;
        this.list = list;
        this.onClickInterface = onClickInterface;
    }

    @NonNull
    @Override
    public MyViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
        View itemView = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.list_row, viewGroup, false);
        return new MyViewHolder(itemView);
    }

    @Override
    public void onBindViewHolder(@NonNull MyViewHolder myViewHolder, final int i) {
        myViewHolder.title.setText(list.get(i));
        myViewHolder.title.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                onClickInterface.setClick(i);
            }
        });
    }

    @Override
    public int getItemCount() {
        return list.size();
    }
}

चरण 5: res/layout/list_row.xml में कोड जोड़ें

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:app="https://schemas.android.com/apk/res-auto"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:cardElevation="10dp"
    app:cardCornerRadius="20dp"
    tools:context=".MainActivity">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:orientation="vertical">
        <ImageView
            android:id="@+id/imageView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/logo" />
        <TextView
            android:id="@+id/title"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:textSize="30sp" />
        <TextView
            android:id="@+id/textview2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="Sairamkrishan"
            android:textSize="30sp" />
    </LinearLayout>
</android.support.v7.widget.CardView>

चरण 6: src/OnClickInterface.java में कोड जोड़ें

package com.example.myapplication;

public interface OnClickInterface {
    void setClick(int abc);
}

ऐप चलाएं

अपने Android डिवाइस को कंप्यूटर से कनेक्ट करें। Android Studio में प्रोजेक्ट की एक्टिविटी फाइल खोलें और टूलबार से Run आइकन पर क्लिक करें। अपना मोबाइल डिवाइस चुनें और डिफॉल्ट स्क्रीन देखें।

RecyclerView में क्लिक किए गए आइटम और उसकी पोजीशन कैसे प्राप्त करें?

अब TextView पर क्लिक करें, यह परिणाम दिखाएगा:

RecyclerView में क्लिक किए गए आइटम और उसकी पोजीशन कैसे प्राप्त करें?

  1. एंड्रॉइड में स्पिनर का चयनित आइटम मान द्वारा कैसे सेट करें एंड्रॉइड में स्पिनर का चयनित आइटम मान द्वारा कैसे सेट करें

    Spinner में पोजिशन के बजाय मान (वैल्यू) के आधार पर चयन सेट करना डिफ़ॉल्ट रूप से spinner.setSelection(position) इंडेक्स का उपयोग करता है। लेकिन अक्सर हमें किसी विशिष्ट मान (जैसे क्रिस्टियानो रोनाल्डो) के आधार पर चयन सेट करना होता है। यह उदाहरण मान-आधारित चयन के तरीके दिखाता है। चरण 1: नया प्रोजेक्ट

  1. Android बैटरी को रीकैलिब्रेट कैसे करें और बैटरी लाइफ में सुधार करें Android बैटरी को रीकैलिब्रेट कैसे करें और बैटरी लाइफ में सुधार करें

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

  1. iOS और Android पर चीनी TikTok (Douyin) एक्सेस करें: चरण-दर-चरण मार्गदर्शिका iOS और Android पर चीनी TikTok (Douyin) एक्सेस करें: चरण-दर-चरण मार्गदर्शिका

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