آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

لیست ویو در ویوپیجر ( حل نشده + جهاد کنید دوستان عزیز :))  )

ba2ever  10 سال پیش  10 سال پیش
+1 0

درود...
چطوری میتونم توو  ویوپیجر  , لیست ویو  رو ست کنم؟؟
این کد از فرگمنت اول من هست :

 public class FragmentA extends Fragment {

    public static Fragment instance(int catId) {
        Fragment fragment = new FragmentA();
        return fragment;
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

        ViewGroup layout = (ViewGroup) inflater.inflate(R.layout.fragment_a, null);
        return layout;
    }


    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
    }

}

و اینم از آدلپتر مربوطه :

 public class PagerAdapter extends FragmentPagerAdapter {

    public PagerAdapter(Context context, FragmentManager fm) {
        super(fm);

    }


    @Override
    public CharSequence getPageTitle(int position) {

        switch (position) {
            case 0:
                return "Home";
            case 1:
                return "Film";
            default:
                return "Home";

        }

    }


    @Override
    public Fragment getItem(int position) {
        Fragment fragment = new Fragment();
        switch (position) {
            case 0:
                return FragmentA.instance(1);
            case 1:
                return FragmentB.instance();
            default:
                FragmentA.instance(1);
        }
        return fragment;

    }


    @Override
    public int getCount() {
        return 2;
    }

}

و اینم از اکتیویتی اصلیم :

 

 public class ActivityMain extends FragmentActivity {

    private ViewPager       viewPager;
    private PagerTitleStrip PagerTitleStrip;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        viewPager = (ViewPager) findViewById(R.id.viewPager);

        PagerAdapter adapter = new PagerAdapter(this, getSupportFragmentManager());
        viewPager.setAdapter(adapter);

    }
}

                      

0 0
(10 سال پیش)
0 0
داخل اکتیویتی همونطوری که لیست ویو رو ست میکنی فرگمنت هم به راحتی ست میشه، شما داخل fragmentA کدهای لیست ویو رو قرار بدین (10 سال پیش)
0 0
@ SaeiD-as دقیقا کجای فرگمنت باس این کار رو انجام بدم؟؟ باید آداپتر رو توو فرگمنت ست کنم یا اکتیویتیشو ؟؟ (10 سال پیش)
+1 0
شما باید داخل متد onActivityCreate فرگمنت کدهای مربوط به لیست ویو را بنویسید و اداپترش را ست کنید (10 سال پیش)
+1 0
دقیقا همین که دوستمون گفتند رو انجام بدین درسته، فقط برای استفاده از کد findviewById باید داخل متد onCreateView کد layout مربوطه رو نوشته باشین و در متد onActivityCreate بصورت layout.findViewById تعریف کنید (10 سال پیش)
0 0
@red_sky @SaeiD-as دوستان عزیز میشه بیشتر توضیح بدید ؟؟ من هر روشی که به ذهنم اومد رو تست کردم اما نشد که نشد .. اگه ی لطفی کنید با درج کد توضیح بدید من ممنونتون میشم (10 سال پیش)
0 0
از سایت آقای کاشی زاده آموزش های مربوط به طراحی گوگل پلی را ببینید متوجه میشید (10 سال پیش)
+1 0
از سایت آقای کاشی زاده آموزش های مربوط به طراحی گوگل پلی را ببینید متوجه میشید این هم لینکش لینک (10 سال پیش)
0 0
من ست کردم حالا میخوام به وسیله اینتنت برم به یه اکتیویتی دیگه که نیاز دارم به curentActivityکه بتونم برم به اکتیویتی دیگه این curentActivityرو چطور به دست بیارم (10 سال پیش)
0 0
داخل فرگمنت برای بدست آوردن اکتیویتی فعلی از دستور getActivity() استفاده کنید (10 سال پیش)
 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
SaeiD-as  10 سال پیش
+3 0

این کدی هست که من برای FragmentHome برنامه ام نوشتم:

 public class FragmentHome extends Fragment {
    private ViewGroup          layout;
    private AdapterBazarche    adapter;
    private ListView           listHome;
    private ArrayList<StructB> br               = new ArrayList<StructB>();
    private int                lastItemPosition = 0;
    private int                part             = 0;

    @Override
    public void onResume() {
        super.onResume();
        if (adapter != null) {
            adapter.notifyDataSetChanged();
        }
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        layout = (ViewGroup) inflater.inflate(R.layout.fragment_home, null);
        return layout;
    }

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        adapter = new AdapterB(br);
        listHome = (ListView) layout.findViewById(R.id.listHome);
        listHome.setAdapter(adapter);
        br.clear();
        populateFromNetwork(part);
        listHome.setOnScrollListener(new OnScrollListener() {
            @Override
            public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
                int lastItem = firstVisibleItem + visibleItemCount;
                if (adapter.getCount() >= 30 && lastItem > adapter.getCount() - 5) {
                    boolean isLoading = false;
                    if ( !isLoading) {
                        if (lastItem > lastItemPosition) {
                            lastItemPosition = adapter.getCount();
                            part++;
                            populateFromNetwork(part);
                        }
                    }
                    isLoading = true;
                }
            }

            @Override
            public void onScrollStateChanged(AbsListView view, int scrollState) {}
        });
    }

    private void populateFromNetwork(int part) {
        String result = Webservice.readUrl("your Site", null);
        if (result != null) {
            try {
                JSONArray brs = new JSONArray(result);
                for (int i = 0; i < brs.length(); i++) {
                    JSONObject object = brs.getJSONObject(i);
                    Struct br = new StructB();
                    br.id = object.getLong("brand_id");
                    br.name = object.getString("brand_name");
                    br.description = object.getString("brand_description");
                    br.add(br);
                }
            }
            catch (JSONException e) {
                e.printStackTrace();
            }
            adapter.notifyDataSetChanged();
        }
    };
}

 

0 0
@SaeiD-as میشه ازت خواهش کنم که اگه برات مقدوره بیشتر توضیح بدی ؟؟ راسش من خیلی مشکل دارم توو این قضیه .. نمی دونم که آداپتر رو کجا صدا بزنم .. لیستمو کجا بزارم ... از طف دیگه نمیدونم که توو ui باس چیکار کنم .. (10 سال پیش)
0 0
@SaeiD-as از طرفی من دارم اطلاعاتمو از سرور میگیرم و نمایش میدم ...... اگه کد خواستی اینجا میذارم (10 سال پیش)
0 0
دقیقا کد هایی که منم قرار دادم از سرور میخونه، متد populateFromNetwork رو ببینید، برای اینکه بدونید کجا آداپتر رو صدا بزنید و ... بایستی آموزش آقای کاشی زاده در مورد ویوپیجر رو ببینید که لینکشو دوستمون در بالا براتون گذاشته (10 سال پیش)
پاسخ به سوال 
مسعود کریمی نژاد  10 سال پیش
+4 0

سلام دوست عزیز دقیقا همون چیزی رو که نیازتون بود رو توی این پروژه درست کردم امید وارم مشکلتون حل بشه

لینک دانلود پروژه

0 0
@ RaminKarimi نمیدونم واقعا چی بگم .. دستت درد نکنه واقعا خدا خیرت بده (10 سال پیش)
+1 0
مشکلتون حل شده ؟ اگه نشده بگید بیشتر راهنماییتون کنم (10 سال پیش)
0 0
RaminKarimi راسش هنوز تست نکردم .. اما اگه به مشکل برخوردم حتما مزاحمت میشم بازم مرسی داداش ♥ (10 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .