afraz11 1 ارسال شده در ۲۰ مرداد ۱۳۹۷ گزارش اشتراک گذاری ارسال شده در ۲۰ مرداد ۱۳۹۷ با سلام و درود خدمت همکاران عزیز دوستان بنده در حال ساخت یه برنامه ای بودم که در قسمت لایک مشکل دارم من اومدم شماره سریال گوشی ها رو گرفتم و یه مقدار تضادفی هم بهش دادمو به سرور میفرستم و ذخیره میشه (چون شماره سریال هر گوشی متفاوته و اینجوری هرکسی میتونه برنامه رو با یوزر خودش لایک کنه) مشکل من وقتی به وجود میاد وقتی من دکمه هر پستی تو ریسایکلر ویو رو لایک میکنم تا رو دکمه دریافت دوباره از سرور نزنم اون دکمه لایک نمیخوره میخواستم بدونم چجوری میشه اول دکمه به طور نمایشی لایک بخوره بعد در فرصتی پشت پرده به سرور انتقال داده بشه ممنون میشم کمک کنید یا اگه روشی بلدید یه توضیح مختصر بدید ممنون میشم نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
afraz11 1 ارسال شده در ۲۰ مرداد ۱۳۹۷ مالک گزارش اشتراک گذاری ارسال شده در ۲۰ مرداد ۱۳۹۷ اون استادی که فقط بلده دکمه فشار بده لطفا به جایه فشار دادن دکمه بیا منبع رو ذکر کن ببین چنین چیزی جورد داره یا از خودت داری میگی من آشنا به قوانین سایتم ولی کل سایتو گشتم ولی چنین موضوعی رو ندید اگه شما بزرگوار میگی هست لطفا آدرس بده ما هم ببینیم با تشکر نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
afraz11 1 ارسال شده در ۲۱ مرداد ۱۳۹۷ مالک گزارش اشتراک گذاری ارسال شده در ۲۱ مرداد ۱۳۹۷ از پاسخگویی شما بزرگواران خیلی خرسند شدیم خودم پیدا کردم نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
Seyed-Hossein-Akbari 92 ارسال شده در ۲۱ مرداد ۱۳۹۷ گزارش اشتراک گذاری ارسال شده در ۲۱ مرداد ۱۳۹۷ (ویرایش شده) مقدار لایکو حتما داری دیگه که نشونش دادی . مطمئنا داخل INT ذخیره شده . برای نمایشی شدنش کافیه ++ کنیش . ویرایش شده ۲۱ مرداد ۱۳۹۷ توسط Seyed-Hossein-Akbari 1 نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
afraz11 1 ارسال شده در ۲۱ مرداد ۱۳۹۷ مالک گزارش اشتراک گذاری ارسال شده در ۲۱ مرداد ۱۳۹۷ مشکل تو فایل phpیا در سورس اندروید استودیو نبود مشکل بنده تو ریفریش ریساکلر بود (باید به گونه ای ریفریش میشد خیلی سریع و بدون اینکه کاربر بفهمه)خدا رو شکر بعد 3ساعت تلاش پیدا کردم نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
Seyed-Hossein-Akbari 92 ارسال شده در ۲۱ مرداد ۱۳۹۷ گزارش اشتراک گذاری ارسال شده در ۲۱ مرداد ۱۳۹۷ (ویرایش شده) NOTIFYDATASETCHANGE برای به روز رسانی آداپتر استفاده میشه . و اینکه من نمیدونم چطور کد نوشتید . اما اصلا نیازی نیست به روز بشه ویرایش شده ۲۱ مرداد ۱۳۹۷ توسط Seyed-Hossein-Akbari نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
afraz11 1 ارسال شده در ۲۱ مرداد ۱۳۹۷ مالک گزارش اشتراک گذاری ارسال شده در ۲۱ مرداد ۱۳۹۷ دوست عزیز این کد پیش پا افتادست یعنی برای پروژه ای که من دارم به د ر د منخورد نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
Seyed-Hossein-Akbari 92 ارسال شده در ۲۱ مرداد ۱۳۹۷ گزارش اشتراک گذاری ارسال شده در ۲۱ مرداد ۱۳۹۷ دوست عزیز . اصلا برای لایک کردن نیاز به ، به روز رسانی نیست اونم برای نمایش . داخل آداپتر وقتی میگید کلیک کرد فلان کارو انجام بده ، خود به خود به روز میشه . در ضمن کدهای پیش پا افتاده ؟؟؟؟؟ همین کد پیش پا افتاده کلی کد پشت سرشه . اون بنده خدایی که ریسایکلر رو برای شما درست کرده فکر اینجاشو کرده . نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
afraz11 1 ارسال شده در ۲۱ مرداد ۱۳۹۷ مالک گزارش اشتراک گذاری ارسال شده در ۲۱ مرداد ۱۳۹۷ خوب بزرگوار اگه نیاز به روز کردن نباشه پس از کجا باید اطلاعاتو بگیر که کاربر اطلاعاتو لایک کرده یا خیر ؟ خوب ببین منم دکمه لایکو به وسیله اطلاعات آداپتر لایک و آنلاک میکنم تا اینجا درست ولی قبلش باید تو قسمت onBindViewHolder ریسایکلر باید چک بکنم که آیا این دکمه از قبل تو دیتابیس لایک شده یا خیر درضم بنده گفتم که این کد notifyDataSetChanged که برای ریفرش اطلاعات هست در این قسمت به دردم نمیخوره و میدونم همین که خودش خیلی کار برده در ضم شما که میگید نیاز به آپدیت نداره یه نگاه بنداز به کد ببنید نیازی هست به نظرتون آپدیت بشه یا نه حالا بفرمایید چجوری من لایک کنم که نیاز به بروز شدن نداشته باشه public class CustomAdp_RecyMain extends RecyclerView.Adapter<CustomAdp_RecyMain.ViewHolder> { List<Data_recycler> listData = new ArrayList<>(); Activity context; LikeButton likeButton; ImageView copyText,shareTextAndpic; G g=new G(); Boolean favcheek=false; int ii; public CustomAdp_RecyMain(List<Data_recycler> listData, Activity context) { this.listData = listData; this.context = context; } @NonNull @Override public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.sample_item_recycler, parent, false); ViewHolderAfraz viewHolder = new ViewHolderAfraz(v); return viewHolder; } @Override public void onBindViewHolder(@NonNull final ViewHolderAfraz holder, final int position) { // G.useridcheek =G.list.get(holder.getAdapterPosition()).getUserid(); holder.onvan.setText(listData.get(position).getOnvan()); holder.matn.setText(listData.get(position).getMatn()); String s = listData.get(position).getImgAdress(); Picasso.with(context).load(s).error(R.drawable.ic_launcher_background).into(holder.imgadress); holder.matn.setText(listData.get(position).getMatn()); holder.onvan.setText(listData.get(position).getOnvan()); holder.matn.setText(listData.get(position).getMatn()); String usercek = G.list.get(position).getUserid(); Log.e("usercek", G.list.get(ii).getUserid()); favcheek = usercek.contains("|" + G.UserId); Log.e("ceek11111", String.valueOf(favcheek)); //Log.e("position", String.valueOf(position)); likeButton.setLiked(true); if (favcheek == false) { likeButton.setLikeDrawable(context.getResources().getDrawable(R.drawable.ic_favoff_24dp)); //likeButton.setLiked(false); } else if (favcheek == true) { likeButton.setLikeDrawable(context.getResources().getDrawable(R.drawable.ic_favon_24dp)); } } @Override public int getItemCount() { return listData.size(); } public class ViewHolder extends RecyclerView.ViewHolder { TextView onvan, matn, tbleghat; ImageView imgadress; public ViewHolder(final View itemView) { super(itemView); onvan = (TextView) itemView.findViewById(R.id.text_onvan_recycler); matn = (TextView) itemView.findViewById(R.id.text_matn_recycler); imgadress = (ImageView) itemView.findViewById(R.id.img_onvan_recycler); likeButton =(LikeButton)itemView.findViewById(R.id.Like_fav_recycler); copyText=(ImageView)itemView.findViewById(R.id.img_copy_recycler); shareTextAndpic=(ImageView)itemView.findViewById(R.id.img_share_recycler); likeButton.setOnLikeListener(new OnLikeListener() { @Override public void liked(LikeButton likeButton1) { likeButton1.setLikeDrawable(context.getResources().getDrawable(R.drawable.ic_favon_24dp)); final Updeta_fav_online updeta_fav_online; updeta_fav_online=new Updeta_fav_online("http://192.168.....1...0/........j.php",context,getAdapterPosition()); updeta_fav_online.Updeta_favha(); } @Override public void unLiked(LikeButton likeButton1) { likeButton1.setLikeDrawable(context.getResources().getDrawable(R.drawable.ic_favoff_24dp)); final Updeta_fav_online updeta_fav_online; updeta_fav_online=new Updeta_fav_online("http://192.168.1...0/...........php",context,getAdapterPosition()); updeta_fav_online.Updeta_favha(); } }); copyText.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { AriaLib ariaLib=new AriaLib(context); ariaLib.Sharing().setClipboadText(G.list.get(getAdapterPosition()).getMatn()); Toast.makeText(context, "درکیبورد کپی شد", Toast.LENGTH_SHORT).show(); } }); } نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
Seyed-Hossein-Akbari 92 ارسال شده در ۲۱ مرداد ۱۳۹۷ گزارش اشتراک گذاری ارسال شده در ۲۱ مرداد ۱۳۹۷ (ویرایش شده) الان همین کد کار به روز رسانی رو انجام میده دیگه . likeButton1.setLikeDrawable(context.getResources().getDrawable(R.drawable.ic_favoff_24dp)); شما داخل کلیک هر چی بنویسی انجام میشه . تصویر عوض میشه . یه مقداری عوض میشه و ... دیگه نیازی به ، به روز رسانی آداپتر نیست . حالا شما بفرمایید چطوری به روز کردید ؟ اصلا چرا کلیک رو داخل ویوهولدر نوشتی ؟ باید داخل همون onbind بنویسی . ویرایش شده ۲۱ مرداد ۱۳۹۷ توسط Seyed-Hossein-Akbari نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
afraz11 1 ارسال شده در ۲۱ مرداد ۱۳۹۷ مالک گزارش اشتراک گذاری ارسال شده در ۲۱ مرداد ۱۳۹۷ دوست عزیز من مشکلم با کلیک کردن ندارم که ده من مشکلم اینه که وقتی کاربر دکمه لایک رو زد ولایک شد اگه آداپتر ریفرش شد باز لایک باقی بمونه یا برعکس خوب در رابطه با دکمه لایک هم باید بگم مگه زیاد فرقی هم داره اینجوری تست کردم جواب بهتر میاد نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
Seyed-Hossein-Akbari 92 ارسال شده در ۲۱ مرداد ۱۳۹۷ گزارش اشتراک گذاری ارسال شده در ۲۱ مرداد ۱۳۹۷ اع . خب مگه اطلاعاتو از وب نمیگیری ؟ وقتی اطلاعاتو داری از وب میگیری هر بار که اداپتر رفرش بشه اطلاعات رو میگیره دوباره . بعدشم viewholder از اسمش معلومه . ویو رو نگه میداره ... و هر بار که داره لیست رو میسازه از روی هولدر میسازه . اینطوری که کد نوشتید سرعت برنامه و لیست میاد پایین .... کدهای کلیک و هر چیزی باید داخل onbind نوشته بشه . نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
afraz11 1 ارسال شده در ۲۱ مرداد ۱۳۹۷ مالک گزارش اشتراک گذاری ارسال شده در ۲۱ مرداد ۱۳۹۷ عزیز دل برادر خوب من هدف اینه که وقتی رو دکمه لایک زده شد همون لحظه بیاد دتابیس رو چک کنه و لایک رو بر مبنا دیتابیس قرار بده و نمیخوام هر بار ریفرش شده اطلاعات اپدیت بشه در ضم بنده به دلیل برخی مثال نمیتونم تو قسمت onbind قرارش بدم نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
Seyed-Hossein-Akbari 92 ارسال شده در ۲۱ مرداد ۱۳۹۷ گزارش اشتراک گذاری ارسال شده در ۲۱ مرداد ۱۳۹۷ (ویرایش شده) من ، نمیدونم . روش کد نویسیت خیلی بده . دیگه خودت میدونی ... این روش اصلا استاندارد نیست . حتی اینستگرام هم اینکاری که شما میکنی رو نمیکنه . وقتی ترافیک سایتت با هزاران لایکی که در ثانیه داره صورت میگیره بره بالا . میفهمی چرا استاندارد نیست . موفق باشی ویرایش شده ۲۱ مرداد ۱۳۹۷ توسط Seyed-Hossein-Akbari نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .