رفتن به مطلب
انجمن اندروید ایران | آموزش برنامه نویسی اندروید و موبایل
  • android.png.1fab383bc8500cd93127cebc65b1dcab.png

پست های پیشنهاد شده

با سلام خدمت همه دوستان
دو سوال داشتم:
1. در کد نویسی قطعه کدی دارم که می خوام زمانی که روی یک آیتم از popupMenu کلیک شد عنوان آن تغییر کند
جستجو های زیادی در اینباره کردم ولی به نتیجه ای نرسیدم
قطعه کد popupMenu

private void showPopupMenu(View view, int position) {
       // inflate menu
       final PopupMenu popup = new PopupMenu(mContext, view);
       final MenuInflater inflater = popup.getMenuInflater();
       inflater.inflate(R.menu.menu_album, popup.getMenu());
       popup.setOnMenuItemClickListener(new MyMenuItemClickListener(position, view));
       popup.show();

   }

   /**
    * Click listener for popup menu items
    */
   class MyMenuItemClickListener implements PopupMenu.OnMenuItemClickListener {

       private int position;
       private View view;

       public MyMenuItemClickListener(int position, View view) {
           this.position = position;
           this.view = view;
       }

       @Override
       public boolean onMenuItemClick(MenuItem menuItem) {
           switch (menuItem.getItemId()) {
               case R.id.action_add_favourite:
                   dataSource = new DataSource(mContext);
                   if (!dataSource.BookIsFav(position)) {
                       menuItem.setTitle(R.string.str_action_del_favourite);
                       dataSource.BookFav(position);
                       Toast.makeText(mContext, R.string.str_action_add_favourite, Toast.LENGTH_SHORT).show();
                   } else {
                       menuItem.setTitle(R.string.str_action_add_favourite);
                       dataSource.BookNoFav(position);
                       Toast.makeText(mContext, R.string.str_action_del_favourite, Toast.LENGTH_SHORT).show();
                   }
                   return true;
               case R.id.action_index:
                   Toast.makeText(mContext, menuItem.getTitle() + "", Toast.LENGTH_SHORT).show();
                   return true;
               default:
           }
           return false;
       }
   }

2. چگونه لیست Recyclerview که در فرگمنت هست رو رفرش کنم؟
ناگفته نماند که در اینباره هم جستجو های فراوانی کردم و هر کدام را زدم اجرا نشد
مثل 

adapter.notifyDataSetChanged();

ممنون میشم هر چه زودتر به سوالات بنده پاسخ دهید
با سپاس

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 20 ساعت قبل، md98 گفته است :

با سلام خدمت همه دوستان
دو سوال داشتم:
1. در کد نویسی قطعه کدی دارم که می خوام زمانی که روی یک آیتم از popupMenu کلیک شد عنوان آن تغییر کند
جستجو های زیادی در اینباره کردم ولی به نتیجه ای نرسیدم
قطعه کد popupMenu


private void showPopupMenu(View view, int position) {
       // inflate menu
       final PopupMenu popup = new PopupMenu(mContext, view);
       final MenuInflater inflater = popup.getMenuInflater();
       inflater.inflate(R.menu.menu_album, popup.getMenu());
       popup.setOnMenuItemClickListener(new MyMenuItemClickListener(position, view));
       popup.show();

   }

   /**
    * Click listener for popup menu items
    */
   class MyMenuItemClickListener implements PopupMenu.OnMenuItemClickListener {

       private int position;
       private View view;

       public MyMenuItemClickListener(int position, View view) {
           this.position = position;
           this.view = view;
       }

       @Override
       public boolean onMenuItemClick(MenuItem menuItem) {
           switch (menuItem.getItemId()) {
               case R.id.action_add_favourite:
                   dataSource = new DataSource(mContext);
                   if (!dataSource.BookIsFav(position)) {
                       menuItem.setTitle(R.string.str_action_del_favourite);
                       dataSource.BookFav(position);
                       Toast.makeText(mContext, R.string.str_action_add_favourite, Toast.LENGTH_SHORT).show();
                   } else {
                       menuItem.setTitle(R.string.str_action_add_favourite);
                       dataSource.BookNoFav(position);
                       Toast.makeText(mContext, R.string.str_action_del_favourite, Toast.LENGTH_SHORT).show();
                   }
                   return true;
               case R.id.action_index:
                   Toast.makeText(mContext, menuItem.getTitle() + "", Toast.LENGTH_SHORT).show();
                   return true;
               default:
           }
           return false;
       }
   }

2. چگونه لیست Recyclerview که در فرگمنت هست رو رفرش کنم؟
ناگفته نماند که در اینباره هم جستجو های فراوانی کردم و هر کدام را زدم اجرا نشد
مثل 


adapter.notifyDataSetChanged();

ممنون میشم هر چه زودتر به سوالات بنده پاسخ دهید
با سپاس

 

شما  کد اداپتر RecyclerView خودتون رو بزارید که بررسی کنیم و مشکل رو پیدا کنیم

 

 

 

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 50 دقیقه قبل، Farzad Sarseifi گفته است :

شما  کد اداپتر RecyclerView خودتون رو بزارید که بررسی کنیم و مشکل رو پیدا کنیم

با سلام

کد مربوط به فرگمنت

public void DisplayBook() {
        DataSource dbsource = new DataSource(getActivity());
        allBook = dbsource.DisplayBookinMain();
        DisplayBook = new AdapterForMyBooks(getActivity(),
                R.layout.displaybookingrid, allBook);
        int mNoOfColumns = Utility.calculateNoOfColumns(getActivity());
        recyclerView.setLayoutManager(new GridLayoutManager(getActivity(), mNoOfColumns));
//        recyclerView.addItemDecoration(new GridSpacingItemDecoration(2, dpToPx(10), false));
        recyclerView.setItemAnimator(new DefaultItemAnimator());
        DisplayBook.notifyDataSetChanged();

        recyclerView.setAdapter(DisplayBook);
    }

کد مربوط به آداپتر

public void onBindViewHolder(final MyViewHolder holder, final int position) {
        books = BookList.get(position);
        holder.title.setText(books.getTitle());

        DataSource datasource = new DataSource(mContext);
        book = datasource.readDetailsBook(BookList.get(position).getNid());
        pic = book[5];

        ImgUri = Uri.parse(Constant.JsonWebserviceBooksImage);

        Glide.with(mContext).load(ImgUri + pic).override(170, 220).error(R.drawable.pic_book_error).into(holder.thumbnail);

        holder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {
                Toast.makeText(mContext, "Long", Toast.LENGTH_SHORT).show();
                return false;
            }
        });
        holder.overflow.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                showPopupMenu(holder.overflow, BookList.get(position).getNid());
            }
        });
        holder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(mContext, BookIndexView.class);
                intent.putExtra("TITLE", BookList.get(position).getTitle());
                intent.putExtra("ID", BookList.get(position).getNid());
                mContext.startActivity(intent);
            }
        });
        holder.thumbnail.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(mContext, BookIndexView.class);
                intent.putExtra("TITLE", BookList.get(position).getTitle());
                intent.putExtra("ID", BookList.get(position).getNid());
                mContext.startActivity(intent);
            }
        });

    }

    /**
     * Showing popup menu when tapping on 3 dots
     */
    private void showPopupMenu(View view, int position) {
        // inflate menu
        final PopupMenu popup = new PopupMenu(mContext, view);
        final MenuInflater inflater = popup.getMenuInflater();
        inflater.inflate(R.menu.menu_album, popup.getMenu());
        popup.setOnMenuItemClickListener(new MyMenuItemClickListener(position, view));
        popup.show();

    }

    /**
     * Click listener for popup menu items
     */
    class MyMenuItemClickListener implements PopupMenu.OnMenuItemClickListener {

        private int position;
        private View view;

        public MyMenuItemClickListener(int position, View view) {
            this.position = position;
            this.view = view;
        }

        @Override
        public boolean onMenuItemClick(MenuItem menuItem) {
            switch (menuItem.getItemId()) {
                case R.id.action_add_favourite:
                    dataSource = new DataSource(mContext);
                    if (!dataSource.BookIsFav(position)) {
                        menuItem.setTitle(R.string.str_action_del_favourite);
                        dataSource.BookFav(position);
                        Toast.makeText(mContext, R.string.str_action_add_favourite, Toast.LENGTH_SHORT).show();
                    } else {
                        menuItem.setTitle(R.string.str_action_add_favourite);
                        dataSource.BookNoFav(position);
                        Toast.makeText(mContext, R.string.str_action_del_favourite, Toast.LENGTH_SHORT).show();
                    }
                    return true;
                case R.id.action_index:
                    Toast.makeText(mContext, menuItem.getTitle() + "", Toast.LENGTH_SHORT).show();
                    return true;
                default:
            }
            return false;
        }
    }

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 42 دقیقه قبل، md98 گفته است :

با سلام

کد مربوط به فرگمنت


public void DisplayBook() {
        DataSource dbsource = new DataSource(getActivity());
        allBook = dbsource.DisplayBookinMain();
        DisplayBook = new AdapterForMyBooks(getActivity(),
                R.layout.displaybookingrid, allBook);
        int mNoOfColumns = Utility.calculateNoOfColumns(getActivity());
        recyclerView.setLayoutManager(new GridLayoutManager(getActivity(), mNoOfColumns));
//        recyclerView.addItemDecoration(new GridSpacingItemDecoration(2, dpToPx(10), false));
        recyclerView.setItemAnimator(new DefaultItemAnimator());
        DisplayBook.notifyDataSetChanged();

        recyclerView.setAdapter(DisplayBook);
    }

کد مربوط به آداپتر


public void onBindViewHolder(final MyViewHolder holder, final int position) {
        books = BookList.get(position);
        holder.title.setText(books.getTitle());

        DataSource datasource = new DataSource(mContext);
        book = datasource.readDetailsBook(BookList.get(position).getNid());
        pic = book[5];

        ImgUri = Uri.parse(Constant.JsonWebserviceBooksImage);

        Glide.with(mContext).load(ImgUri + pic).override(170, 220).error(R.drawable.pic_book_error).into(holder.thumbnail);

        holder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {
                Toast.makeText(mContext, "Long", Toast.LENGTH_SHORT).show();
                return false;
            }
        });
        holder.overflow.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                showPopupMenu(holder.overflow, BookList.get(position).getNid());
            }
        });
        holder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(mContext, BookIndexView.class);
                intent.putExtra("TITLE", BookList.get(position).getTitle());
                intent.putExtra("ID", BookList.get(position).getNid());
                mContext.startActivity(intent);
            }
        });
        holder.thumbnail.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(mContext, BookIndexView.class);
                intent.putExtra("TITLE", BookList.get(position).getTitle());
                intent.putExtra("ID", BookList.get(position).getNid());
                mContext.startActivity(intent);
            }
        });

    }

    /**
     * Showing popup menu when tapping on 3 dots
     */
    private void showPopupMenu(View view, int position) {
        // inflate menu
        final PopupMenu popup = new PopupMenu(mContext, view);
        final MenuInflater inflater = popup.getMenuInflater();
        inflater.inflate(R.menu.menu_album, popup.getMenu());
        popup.setOnMenuItemClickListener(new MyMenuItemClickListener(position, view));
        popup.show();

    }

    /**
     * Click listener for popup menu items
     */
    class MyMenuItemClickListener implements PopupMenu.OnMenuItemClickListener {

        private int position;
        private View view;

        public MyMenuItemClickListener(int position, View view) {
            this.position = position;
            this.view = view;
        }

        @Override
        public boolean onMenuItemClick(MenuItem menuItem) {
            switch (menuItem.getItemId()) {
                case R.id.action_add_favourite:
                    dataSource = new DataSource(mContext);
                    if (!dataSource.BookIsFav(position)) {
                        menuItem.setTitle(R.string.str_action_del_favourite);
                        dataSource.BookFav(position);
                        Toast.makeText(mContext, R.string.str_action_add_favourite, Toast.LENGTH_SHORT).show();
                    } else {
                        menuItem.setTitle(R.string.str_action_add_favourite);
                        dataSource.BookNoFav(position);
                        Toast.makeText(mContext, R.string.str_action_del_favourite, Toast.LENGTH_SHORT).show();
                    }
                    return true;
                case R.id.action_index:
                    Toast.makeText(mContext, menuItem.getTitle() + "", Toast.LENGTH_SHORT).show();
                    return true;
                default:
            }
            return false;
        }
    }

 

 

من هنوز واقعا منظور کاری که میخواهید انجام دهید را متوجه نشده ام اما با توجه به برداشتم وقتی قصد دارید یک تنظیماتی ذخیره شود بعد از اینکه یک گزینه فعال شد . بیاید و یک sharedPrefrences بسازید و وقتی که میخواهید  عنوان های popupMenu را مقدار دهی کنید ابتدا به این مقادیر رجوع کنید و مقادیر را بررسی نمایید و الان میتونید مقادیری را که نیاز دارید را نمایش دهید

 

 

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ممنون از پاسختون 

این کار رو دنبال میکنم اگر درست شد اعلام میکنم

و اما در مورد رفرش شدن recyclerview

لطفا این کدی رو که قبلا گذاشتم رو بررسی کنید و ببینید مشکل از کجاست که من زمانی که به لیست favorite میفرستم لیستم رفرش نمیشه و بایستی یک بار برنامه بسته شود تا اعمال شود

ضمنا در onresume هم قرار دادم اما فایده نداشت! :(

منتظر پاسختون هستم

با تشکر

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 3 ساعت قبل، md98 گفته است :

ممنون از پاسختون 

این کار رو دنبال میکنم اگر درست شد اعلام میکنم

و اما در مورد رفرش شدن recyclerview

لطفا این کدی رو که قبلا گذاشتم رو بررسی کنید و ببینید مشکل از کجاست که من زمانی که به لیست favorite میفرستم لیستم رفرش نمیشه و بایستی یک بار برنامه بسته شود تا اعمال شود

ضمنا در onresume هم قرار دادم اما فایده نداشت! :(

منتظر پاسختون هستم

با تشکر

 

 

یه راه حل اینه که کدی اطلاعات رو نمایش میدهید یک method کنید و یبار دیگه صداش بزنید

راه حل دوم

notifyDataSetChanged();

هستش

فعلا با روش اول کارتون رو پیش ببرید در صورتی که  کار تموم شد برگردید و روش دوم رو پیاده سازی کنید که روش بهتری هستش

 

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

با سلام

اگه در کدی که قرار دادم دقت کرده باشید من کد رو درون یک متدی به نام DisplayBook قرار دادم کد زیر:

public void DisplayBook() {
        DataSource dbsource = new DataSource(getActivity());
        allBook = dbsource.DisplayBookinMain();
        DisplayBook = new AdapterForMyBooks(getActivity(),
                R.layout.displaybookingrid, allBook);
        int mNoOfColumns = Utility.calculateNoOfColumns(getActivity());
        recyclerView.setLayoutManager(new GridLayoutManager(getActivity(), mNoOfColumns));
        recyclerView.setItemAnimator(new DefaultItemAnimator());
        DisplayBook.notifyDataSetChanged();
        recyclerView.setAdapter(DisplayBook);
    }

و در اون هم از notifyDataSetChanged استفاده کردم ولی فایده ای نداره!

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 2 ساعت قبل، md98 گفته است :

با سلام

اگه در کدی که قرار دادم دقت کرده باشید من کد رو درون یک متدی به نام DisplayBook قرار دادم کد زیر:


public void DisplayBook() {
        DataSource dbsource = new DataSource(getActivity());
        allBook = dbsource.DisplayBookinMain();
        DisplayBook = new AdapterForMyBooks(getActivity(),
                R.layout.displaybookingrid, allBook);
        int mNoOfColumns = Utility.calculateNoOfColumns(getActivity());
        recyclerView.setLayoutManager(new GridLayoutManager(getActivity(), mNoOfColumns));
        recyclerView.setItemAnimator(new DefaultItemAnimator());
        DisplayBook.notifyDataSetChanged();
        recyclerView.setAdapter(DisplayBook);
    }

و در اون هم از notifyDataSetChanged استفاده کردم ولی فایده ای نداره!

 

در این قطعه کدی که نوشتید کد

    DisplayBook.notifyDataSetChanged();

 

رو بردارید و  مجددا تست کنید

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 38 دقیقه قبل، md98 گفته است :

قبلا هم اینکار رو کرده بودم الان هم انجام دادم نشد. چرا:huh:

 

از لحاظ کدی اشکالی نمیبینم.

کدتون رو دیباگ کنید چون وقتی خط به خط دیباگ کنید میتونید متوجه بشید مشکل از کجاست که مقادیر تغییر نمیکنند

 

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

با سلام

با ديباگ متوجه نشدم كه كجا مشكل داره

و همچنين از sharePrefrences استفاده كردم اون هم جواب نداد

چ كار بايد كرد؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

  • مطالب مشابه

    • توسط scientific
      سلام ، 
      من وقتی در MainActivity یه آبجکت از کلاس مدلم می سازم و داده هام رو به پارامترهای constructor اش می فرستم تا در کلاس مدل ذخیره بشه ،
      و هم زمان اون اطلاعات رو داخل یک لیست از کلاس مدل هم ذخیره می کنم، برنامه م به محض اجرا بسته میشه
      مگر این که کد مربوط به این کار رو کامنت کنم:
      courseModelList.add(new CourseModel(image,s)); یا این که باید کد مربوط به "ست شدن آداپتر به ریسایکلرویو" رو کامنت کنم تا برنامه اجرا بشه:
      recyclerView_course_main.setAdapter(adapterRecyclerView); --------------------------------------------------------------------------------------------------------------------------
      هرکار می کنم ریسایکلرویو رو توی برنامه م نمیتونم نشون بدم
      بریک پوینت هم گذاشتم و لاگ کت رو چک کردم ولی بازم نتونستم ایرادش رو برطرف کنم

      عکسهایی از کد ها و اجرای خط به خط رو میزارم اگه راهنمایی کنید ممنون میشم:
      1-  کلاس MainActivity  متد مربوط به پر کردن لیست آرایه و ست کردن آداپتر:
      private void setupRecyclerView() { courseModelList.add(new CourseModel(image,s)); courseModelList.add(new CourseModel(image,s)); recyclerView_course_main = findViewById(R.id.recyclerView_coursemain); adapterRecyclerView = new AdapterRecyclerView(courseModelList); LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this); recyclerView_course_main.setLayoutManager(linearLayoutManager); recyclerView_course_main.setAdapter(adapterRecyclerView); } 2- کلاس آداپتر:
      3- کلاس مدل:
      public class CourseModel { private int cuorse_education_icon; private String course_education_title; public CourseModel(int cuorse_education_icon, String course_education_title) { this.cuorse_education_icon = cuorse_education_icon; this.course_education_title = course_education_title; } public int getCuorse_education_icon() { return cuorse_education_icon; } public String getCourse_education_title() { return course_education_title; } 4- کلاس ViewHolder
      import android.view.View; import android.widget.TextView; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; import com.donyaeayandeh.itroducingdonyaeayandehinstitute.R; import de.hdodenhof.circleimageview.CircleImageView; public class CourseEducationViewHolder extends RecyclerView.ViewHolder { public CircleImageView course_education_image; public TextView course_education_txt; public CourseEducationViewHolder(@NonNull View itemView) { super(itemView); course_education_image = itemView.findViewById(R.id.course_education_icon); course_education_txt= itemView.findViewById(R.id.course_education_txt); } }  

    • توسط sobhan
      سلام
      من واسه فیلتربندی کتاب هام و دسته بندی کتاب هام از 2تا ریسایکلرویوو استفاده کردم یعنی یکی برای دسته ها و یکی هم برای خود کتاب ها
      و واسه اینکه روی هرکدوم از دسته بندی ها که کلیک شد کتاب های اون دسته رو نشون بده از Broadcast استفاده کردم یعنی مقدار رو از آداپتر دسته بندی ها میگیرم و میارم توی آداپتر کتاب ها
      و بعد از اینکه یه دسته رو انتخاب کرد اون ایتم هایی رو که جزو اون دسته هستند visible و بقیه gone شند
      حالا مشکل من اینجاست که وقتی توی یک دسته بندی هستم و چندتا کتاب رو اضافه میکنم، وقتی میرم توی یه دسته بندی دیگه و دوباره برمیگردم توی دسته بندی قبلی، تعدادش رو صفر نشون میده ☹️
      البته وقتی میزنم مشاهده سبدخرید (یعنی مرحله بعد)، همه چیز درسته یعنی کتاب ها و تعدادشون درست نشون میده
      این رو هم اضافه کنم که دیتاهارو از وبسرویس میگیرم و میریزم توی دیتابیس اپ و بعد از دیتابیس توی ریسایکلرویوو نمایشش میدم
      واسه هرکدوم از کتاب هایی که تعدادشون رو هم زیاد و کم میکنم توی دیتابیسم ذخیره میشه
      میشه راهش رو بهم بگین☹️
    • توسط MaHdI-09
      سلام.من یک ریسایکلرویو دارم که میخوام وقتی دیتا توش اضافه کردم.بره به آخرین position  ریسایکلرویو.

      لطفا درصورت پاسخ بفرمایید در کدام کلاس باید کد ها رو بنویسم.

      با سپاس فراوان
    • توسط Omid Zakeri
      بعضی از دوستان برای انجام onLongClick و onClick در recyclerView دچار مشکل میشن.قصد من در این آموزش انجام این اعمال در recyclerView  هستش.
      برای این کار ابتدا باید یک کلاس جداگانه بنویسیم به صورت زیر:
      public class RecyclerItemClickListener implements RecyclerView.OnItemTouchListener { private OnItemClickListener mListener; private OnItemLongClickListener mLongListener; public interface OnItemClickListener { public void onItemClick(View view, int position); } public interface OnItemLongClickListener { public void onItemClick(View view, int position); } GestureDetector mGestureDetector; public RecyclerItemClickListener(Context context, OnItemClickListener listener) { mListener = listener; mGestureDetector = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener() { @Override public boolean onSingleTapUp(MotionEvent e) { return true; } }); } public RecyclerItemClickListener(Context context, OnItemLongClickListener listener) { mLongListener = listener; mGestureDetector = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener() { @Override public boolean onSingleTapUp(MotionEvent e) { return true; } }); } @Override public boolean onInterceptTouchEvent(RecyclerView view, MotionEvent e) { View childView = view.findChildViewUnder(e.getX(), e.getY()); if (childView != null && mListener != null && mGestureDetector.onTouchEvent(e)) { mListener.onItemClick(childView, view.getChildAdapterPosition(childView)); } return false; } @Override public void onTouchEvent(RecyclerView view, MotionEvent motionEvent) { } @Override public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) { } }  
       
      بعد از اضافه کردن کلاس بالا حالا باید ازش استفاده کنیم به صورت زیر :
       
      متد onLongClick:
      recyclerView.addOnItemTouchListener(new RecyclerTouchListener(getApplicationContext(), attachFileRecyclerView, new RecyclerTouchListener.ClickListener() { @Override public void onClick(View view, int position) { } @Override public void onLongClick(View view, final int position) { . . . } }));  
       
      متد onClick:
      recyclerView.addOnItemTouchListener(new RecyclerItemClickListener(getApplicationContext(), new RecyclerItemClickListener.OnItemClickListener() { @Override public void onItemClick(View view, int position) { . . . } }));  
    • توسط ali5250
      سلام ، من برای ساخت Endless RecyclerView طبق این اموزش :
      https://stackoverflow.com/questions/37004131/implementing-endless-recyclerview
      به مشکل برخورم ، مشکلی که دارم اینه که نمیدونم ادپتر رو چطوری باید ست کنم و اطلاعات هر سطر رو بهش بدم و بصورت کلی متوجه نشدم چطور باید از این کد استفاده کنم ممنون میشم راهنمایی کنید .
  • فایل

×
×
  • اضافه کردن...