arman
3 سال پیش توسط arman مطرح شد
25 پاسخ

راکت کلاهبردار دوره به درد نخور فلاتر

آقای موسوی من دوره فلاتر شما رو تهیه کردم و برای خودم متاسفم که در این دوره شرکت کردم جاله چه طوری این دوره رو ظبط کردید همه جای دوره فقط تا جایی پیش میرید که محصولاتی از سایت رو با api در یک لیست نشون میدید دیگه تمام این محصول رو یعنی شما به این فکر نکردید که یه کاربر محصولی رو ببینه روش کلیک میکنه تا وارد جژئیات بشه یه چیز هایی رو آموزش میدید که در اینترنت خیلی بهتر از اموزش های شما هست و وقتی کسی پولی میده باید ارزش اون کار بیشتر از دوره های رایگان باشه نه این که به درد نخور تر از اون ها و یک هفته است من بهتون پیام دادم هنوز جواب نداید در حالی که گفتید دوره پشتیانی داره واقعا شما رو میگم همه ما ایرانی ها به نوعی *** هستم یه نفر نیست تو این مملکت کارش رو درست انجام بده
@hesammousavi


ثبت پرسش جدید
الیاس سخاوتی نیا
تخصص : علاقه‌مند به برنامه‌‎نویسی
@elyassir 3 سال پیش آپدیت شد
0

تعجب میکنم از حرفاتون :/
اون زمانی که راکت دوره فلاتر گذاشت سایتای ایرانی آموزش فارسی نداشتن
من خودم فلاتر رو از راکت یاد گرفتم
درسته قدیمی شده ولی هنوزم قابل استفاده هستش
میتونین از سایت های دیگه رایگان و یا پولی جدیدترشو بگیرین


arman
@armankhan 3 سال پیش مطرح شد
0

شک دارم که یاد گرفته باشید چون من سه روز قبل سوالی رو مطرح کردم که اصلا جواب های سطح پایینی میداید و حتی درک موضوع هم برای شما خیلی سخت بود این که بتونید برنامه سطح پایینی رو کد زنی کنید نشان دهنده این نیست که یاد گرفته باشید من از همون اول که این دوره رو گرفتم تمام قسمت ها مهم رو خودم با هزار بد بختی پیدا کردم و این دوره هیچ کمکی به من نکرده و شما اگر ادعا دارید که یاد گرفتی این سوال من رو پاسخ بدید
1 - من یک صفحه اصلی دارم که محصولاتی داخل این صفحه هست با api این محصولات گرفته شده
2- کاربر روی یکی از محصولات کیک میکنه و وارد صفحه مشخصات اون محصول میشه
3- در صفحه مشخصات محصول فروشنده ای وجود داره مثلا اقای ابراهیمی که این آقای ابراهیمی یک فروشنده است .
4- حالا کاربر روی آقای ابراهیمی میزنه وارد صفحه مشخصات آقای ابراهیمی میشه و تمام محصولات شخص آقای ابراهیمی باید نشون داده بشه
حالا که یاد گرفتی به من کمک کن اگه واقعا یاد گرفتی و چند ساله فلاتر کار میکنی
من برای لینک دادن از پیج get استفاده کردم
از Navigator استفاده کردم
ولی متاسفانه وارد هر صفحه که میشه اطلاعات قبلی وجود دارد و اطلاعات جدید هم اضافه میشه و وقتی روت های قبلی رو هم پاک میکنی چه با off یا pushNamedAndRemoveUntil یا تمام توابع این دو پیج به جای بازگشت به صفحه قبل بر میگرده صفحه اصلی
الان پاسخ بدید
شما چه راهکاری داری
@elyas.dev


الیاس سخاوتی نیا
تخصص : علاقه‌مند به برنامه‌‎نویسی
@elyassir 3 سال پیش آپدیت شد
0

@armankhan
من نگفتم کامل یادگرفتم ولی خب بیشترشو از همین دوره یادگرفتم

شما یه صفحه دارین که محصولات داخلشو از api میگیرین
وقتی میرین توی یه صفحه دیگه و برمیگردین محصولات قبلی هست و دوباره از api گرفته میشه و بهشون اضافه میشه؟
درسته؟

خب اون قسمتی که لیستی تعریف کردین و دیتا رو میریزین داخلش رو کدشو بذارین ببینم شاید بتونم کمک کنم.


arman
@armankhan 3 سال پیش آپدیت شد
0

این کد api بنده است

  void slider_xsosi() async {
    var dataxsosie = await http.get(
        "https:/............/api/home/users/xsosie/products?api_token=" +
            tokenuser.toString());
    var Jsonres_xsosie = jsonDecode(dataxsosie.body);
    for (var items_xsosie in Jsonres_xsosie) {
      var Sdata_xsosie = Xsosie(
        items_xsosie['id'],
        items_xsosie['titleproduct'],
        items_xsosie['description'],
        items_xsosie['url'],
        items_xsosie['img'],
        items_xsosie['price'],
        items_xsosie['times'],
        items_xsosie['seodecription'],
        items_xsosie['userid'],
      );
      ItemXsosie.add(Sdata_xsosie);
    }
    if (mounted) {
      setState(() {
        _isloding = false;
      });
    } else {
      ItemXsosie.clear();
    }
  }

@elyas.dev


الیاس سخاوتی نیا
تخصص : علاقه‌مند به برنامه‌‎نویسی
@elyassir 3 سال پیش مطرح شد
0

قطعه کدی که توی صفحه زدین و دیتا رو داخلش نشون میدین منظورمه


arman
@armankhan 3 سال پیش مطرح شد
0

بفرمایید

child: Container(
                                  padding: EdgeInsets.only(top: 20, bottom: 5),
                                  height: MediaQuery.of(context).size.height,
                                  child: _isloding == true
                                      ? Align(
                                          alignment: Alignment.topCenter,
                                          child: CircularProgressIndicator(),
                                        )
                                      : Container(
                                          child: ItemXsosie.isEmpty
                                              ? Text("هیچ دوره ای یافت نشد")
                                              : ListView.builder(
                                                  itemCount: ItemXsosie.length,
                                                  itemBuilder:
                                                      (context, index) {
                                                    var _itempro =
                                                        ItemXsosie[index];
                                                    var myInt = int.parse(
                                                        _itempro.price);
                                                    assert(myInt is int);
                                                    int countspro = 0;
                                                    var jpro = countspro;
                                                    String tpro = "$jpro";
                                                    return Column(
                                                      children: [
                                                        GestureDetector(
                                                          onTap: () async {
                                                          Navigator.of(context,rootNavigator: true);  
                                                            Navigator.push(
                                                              context,
                                                              MaterialPageRoute(
                                                                builder:
                                                                    (context) =>
                                                                        DeltiseXsosi(
                                                                  xsosie:
                                                                      _itempro,
                                                                ),
                                                              ),
                                                            )  ;    
;
                                                          },
                                                          child: Container(
                                                            padding:
                                                                EdgeInsets.all(
                                                                    10),
                                                            margin:
                                                                EdgeInsets.only(
                                                                    top: 8,
                                                                    right: 30,
                                                                    left: 30,
                                                                    bottom: 7),
                                                            decoration: BoxDecoration(
                                                                border: Border.all(
                                                                    color: Colors
                                                                        .grey
                                                                        .shade300),
                                                                borderRadius:
                                                                    BorderRadius
                                                                        .circular(
                                                                            15)),
                                                            child: Row(
                                                              children: [
                                                                Container(
                                                                  width: 50,
                                                                  height: 50,
                                                                  margin: EdgeInsets
                                                                      .only(
                                                                          left:
                                                                              6),
                                                                  decoration: BoxDecoration(
                                                                      image: DecorationImage(
                                                                          image: NetworkImage(
                                                                            "https://.....com/" +
                                                                                _itempro.img,
                                                                          ),
                                                                          fit: BoxFit.cover),
                                                                      borderRadius: BorderRadius.circular(15)),
                                                                ),
                                                                Column(
                                                                  crossAxisAlignment:
                                                                      CrossAxisAlignment
                                                                          .start,
                                                                  children: [
                                                                    Container(
                                                                      child:
                                                                          Text(
                                                                        _itempro
                                                                            .titleproduct,
                                                                        style: TextStyle(
                                                                            fontSize:
                                                                                11),
                                                                        overflow:
                                                                            TextOverflow.ellipsis,
                                                                      ),
                                                                    ),
                                                                    SizedBox(
                                                                      height: 2,
                                                                    ),
                                                                    Text(
                                                                      "مدرس : " +
                                                                          _itempro.userid[0]
                                                                              [
                                                                              'lastname'],
                                                                      style: TextStyle(
                                                                          fontSize:
                                                                              9,
                                                                          color: Colors
                                                                              .grey
                                                                              .shade800),
                                                                    ),
                                                                  ],
                                                                ),
                                                                Expanded(
                                                                    child:
                                                                        Container()),
                                                                Container(
                                                                  padding: EdgeInsets
                                                                      .only(
                                                                          left:
                                                                              10),
                                                                  child: Column(
                                                                    children: [
                                                                      Text(
                                                                        intl.NumberFormat('#,###,000')
                                                                            .format(myInt),
                                                                        style: TextStyle(
                                                                            fontSize:
                                                                                11,
                                                                            fontWeight:
                                                                                FontWeight.bold),
                                                                      ),
                                                                      Text(
                                                                        "تومان",
                                                                        style: TextStyle(
                                                                            fontSize:
                                                                                9,
                                                                            fontWeight:
                                                                                FontWeight.bold),
                                                                      )
                                                                    ],
                                                                  ),
                                                                )
                                                              ],
                                                            ),
                                                          ),
                                                        )
                                                      ],
                                                    );
                                                  })))

@elyas.dev


الیاس سخاوتی نیا
تخصص : علاقه‌مند به برنامه‌‎نویسی
@elyassir 3 سال پیش مطرح شد
0

توی این کدها مشکل خاصی دیده نمیشه
اون قسمتی که صفحه لود میشه و اطلاعات رو از api میگیرین چجوریه؟
کدهایی که api رو صدا میزنین و میریزین توی ItemXsosie


arman
@armankhan 3 سال پیش مطرح شد
0

خب من اطلاعات رو با یک حلقه for میریزم داخل ItemXsosie
و از ItemXsosie داخل listview استفاده کردم
الان من هدف ام اینه زمانی که کاربر وارد صفحه جدید میشه اطلاعات جدید ببینه قدیمی ها پاک بشن
من برای این کار هزار راه رو امتحان کردم ولی حل نشده
از این ها من استفاده کردم
dispose و اطلاعات لیست ها رو پاک کردم
از تمام توابع Navigator استفاده کردم هنگام لینک دادن به صفحه های جدید
با این تابع Navigator.push کلا مشکل داره اطلاعات قبلی پاک نمیشه
در این حالت Navigator.pushReplacement اطلاعات قبلی پاک میشن و جدید نمایش داده میشه اما کاربر دکمه برگشت رو بزنه بر میگرده به صفحه اصلی چون همه روت ها پاک شدن و باید هم این اتفاق بیفته
الان من میخام به آقای موسی و شما که طرف داری کردی چند سال سابفه دارید این مشکل رو حل کنید
@elyas.dev


الیاس سخاوتی نیا
تخصص : علاقه‌مند به برنامه‌‎نویسی
@elyassir 3 سال پیش مطرح شد
0

چی بگم والا :)
شما توی حلقه for نوشتین که :

ItemXsosie.add(Sdata_xsosie);

الان شما باید یه جایی همچین چیزی داشته باشین

var ItemXsosie = <Xsosie>[];

یعنی یه لیست خالی باشه که شما بهش اضافه کنین
من هزاران بار لیست گرفتم و همچین مشکلی نداشتم
الانم کدهای شما رو ندارم که ببینم چجوریه


arman
@armankhan 3 سال پیش مطرح شد
0

این هم دارم بفرمایید

import 'package:flutter/material.dart';
import 'package:sepntak/deltise/deltise_xsosi.dart';
import 'package:sepntak/list/product_xsosielist.dart';
import 'package:sepntak/list/users_list.dart';
import 'package:intl/intl.dart' as intl;
import 'package:sepntak/list/widgets/network_sensitive.dart';
import 'dart:convert';
import 'package:http/http.dart' as http;
import 'package:flutter_custom_clippers/flutter_custom_clippers.dart';
import 'package:flutter/src/widgets/framework.dart';

List<Xsosie> ItemXsosie = [];
bool _isloding = true;

class UserXsosie extends StatefulWidget {
  final String tokenuser;
  final String avatar;
  final String lastname;
  const UserXsosie({Key key, this.tokenuser, this.avatar, this.lastname})
      : super(key: key);
  @override
  State<StatefulWidget> createState() =>
      UserXsosieState(tokenuser, avatar, lastname);
}

@elyas.dev


الیاس سخاوتی نیا
تخصص : علاقه‌مند به برنامه‌‎نویسی
@elyassir 3 سال پیش مطرح شد
0

چرا

List<Xsosie> ItemXsosie = [];
bool _isloding = true;

خارج از بدنه کلاس و تابع build گذاشتین


arman
@armankhan 3 سال پیش مطرح شد
0

من اطلاعات رو میگیرم مشکلی در گرفتن اطلاعات ندارم من با خذف کردن اطلاعات مشکل دارم خوب دقت کنید داخل این لیست دوتا محصول هست داخل این لیست
List<Xsosie> ItemXsosie = [];
تا این جا درست این لیست در صفحه آقای ابراهیمی نشون داده میشه که دو دوتا محصول داره
حالا کاربر میخواد محصولات آقای شمس رو هم ببینه خب اطلاعات قبلی آقای ابراهیمی که قبلا لود شده دیگه پاک نمیشه و قاطی هم مال
آقای ابراهیمی و هم آقای شمس نشون داده میشه
@elyas.dev


الیاس سخاوتی نیا
تخصص : علاقه‌مند به برنامه‌‎نویسی
@elyassir 3 سال پیش مطرح شد
0

اون خط

ItemXsosie.clear();

هم داخل setState بذارین شاید فرقی کرد.
مشکل از همین ریزه کاری هاست


arman
@armankhan 3 سال پیش مطرح شد
0

همین setState رو با هزار روش من امتحان کردم هر جوری پنج روزه من درگیرم
@elyas.dev


الیاس سخاوتی نیا
تخصص : علاقه‌مند به برنامه‌‎نویسی
@elyassir 3 سال پیش آپدیت شد
0

پروژه تون تمرینی هستش؟
میتونین سورسشو اپلود کنین من ببینم؟


arman
@armankhan 3 سال پیش مطرح شد
0

اجازه بدید الان آپلود میکنم دانلود بفرمایید
@elyas.dev


arman
@armankhan 3 سال پیش مطرح شد
0

این جا به این اشاره کردید
خارج از بدنه کلاس و تابع build گذاشتین
همین کارم رو درست کرد خیلی ممنونم به خدا پنج روزه هزار روش رو امتحان کردم
الان آوردم داخل build کلا درست شد
@elyas.dev


الیاس سخاوتی نیا
تخصص : علاقه‌مند به برنامه‌‎نویسی
@elyassir 3 سال پیش مطرح شد
0

@armankhan
خدا رو شکر :)
فکر کنم اون متغیر ها برای اینکه به setState دسترسی داشته باشن باید داخل build باشن


arman
@armankhan 3 سال پیش مطرح شد
0

آره الان دیگه مشکل نداره خیلی ممنونم
انشالله همیشه موفق باشد منم بابات تند روی معذرت میخام بگذارید پای فشار کاری و استرس
@elyas.dev


الیاس سخاوتی نیا
تخصص : علاقه‌مند به برنامه‌‎نویسی
@elyassir 3 سال پیش مطرح شد
0

خواهش میکنم
همچنین


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

ورود یا ثبت‌نام