coco 1,746 ارسال شده در 15 مهر، 2016 اشتراک گذاری ارسال شده در 15 مهر، 2016 سلام دوستان من در برنامم اومدم ار باتم نویگیشن استفاده میکنم بعد بالاش هم یه فریم لی اوت گذاشتم و میام تو رویداد آن تب سلکتدفرگمنتی که فریم لی اوت نشون میده رو تغییر میدم حالا من تو فرگمنت اول یه ریسایکلر دارم که اطلاعات رو از اینترنت میگیره و نشون میده و تو اون یکی یه ادیت تکست برای تست گذاشتم وقتی سوییچ میکنم بینشون فرگمنتی که ادیت تکست داره ، متنه ادیت تکستش همون میمونه اما فرگمنتی که ریسایکلر داره (1 آیتم داره که تسته) بهش 1 دونه از همون آیتم اضافه میشه اینم کدا : MainActivity: HBottomNavigation bottomNavigation = (AHBottomNavigation) findViewById(R.id.bottom_navigation); AHBottomNavigationItem item_all = new AHBottomNavigationItem("خانه", R.drawable.home, R.color.colorAccent); AHBottomNavigationItem item_search = new AHBottomNavigationItem("جستجو", R.drawable.magnify, R.color.colorAccent); AHBottomNavigationItem item_add = new AHBottomNavigationItem("ارسال", R.drawable.plus_circle, R.color.colorAccent); AHBottomNavigationItem item_profile = new AHBottomNavigationItem("پروفایل", R.drawable.account, R.color.colorAccent); bottomNavigation.addItem(item_all); bottomNavigation.addItem(item_search); bottomNavigation.addItem(item_add); bottomNavigation.addItem(item_profile); bottomNavigation.setDefaultBackgroundColor(Color.parseColor("#689f38")); bottomNavigation.setAccentColor(Color.parseColor("#FFFFFF")); bottomNavigation.setInactiveColor(Color.parseColor("#DDDDDD")); bottomNavigation.setForceTitlesDisplay(true); frameLayout = (FrameLayout) findViewById(R.id.fLayout); manager = getSupportFragmentManager(); transaction = manager.beginTransaction(); transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); all = new All(getApplicationContext()); newPost = new NewPost(getApplicationContext()); transaction.add(R.id.fLayout , all); transaction.commit(); bottomNavigation.setOnTabSelectedListener(new AHBottomNavigation.OnTabSelectedListener() { @Override public boolean onTabSelected(int position, boolean wasSelected) { switch (position){ case 0: selected = all; break; case 1: break; case 2: selected = newPost; break; case 3: break; } if (!wasSelected){ switch (position){ case 0: transaction = manager.beginTransaction(); transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); transaction.replace(R.id.fLayout,all); transaction.commit(); break; case 1: break; case 2: transaction = manager.beginTransaction(); transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); transaction.replace(R.id.fLayout,newPost); transaction.commit(); break; case 3: break; } } return true; } }); All Fragment: RecyclerView rv; OkHttpClient client = new OkHttpClient(); JSONArray jsonArray; List<Pic> PicList = new ArrayList<Pic>(); public static int Offset; EndlessRecyclerOnScrollListener erosl; RecyclerAdapter ra; private Context mContext; private ViewGroup mContainer; public All(Context context) { super(); this.mContext = context; } @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_all,container,false); mContainer = container; try { jsonArray = new JSONArray(""); } catch (JSONException e) { e.printStackTrace(); } rv = (RecyclerView) view.findViewById(R.id.mainRV); ra = new RecyclerAdapter(PicList,mContext); LinearLayoutManager llm = new LinearLayoutManager(mContext); rv.setLayoutManager(llm); rv.setHasFixedSize(true); erosl = new EndlessRecyclerOnScrollListener(llm) { @Override public void onLoadMore(int current_page, int totalItemCount) { Offset = totalItemCount; try { getList(); Log.e("tot",""+totalItemCount); } catch (Exception e) { e.printStackTrace(); } } }; Offset = 0; try { getList(); Log.e("GET","LIST"); } catch (Exception e) { e.printStackTrace(); } rv.setOnScrollListener(erosl); return view; } @Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); } public void getList() throws Exception{ final Request request = new Request.Builder() .url("http://link?Offset="+Offset) .build(); client.newCall(request).enqueue(new Callback() { @Override public void onFailure(Request request, IOException e) { Handler mainHandler = new Handler(mContext.getMainLooper()); Runnable myRunnable = new Runnable() { @Override public void run() { rv.setVisibility(View.GONE); Offset = 0; } }; mainHandler.post(myRunnable); e.printStackTrace(); } @Override public void onResponse(Response response) throws IOException { String j = response.body().string(); Log.e("J===",j); try { jsonArray = new JSONArray(j); } catch (JSONException e) { e.printStackTrace(); } if (j.equals("0 results")) { if (Offset == 0) { Handler mainHandler = new Handler(mContext.getMainLooper()); Runnable myRunnable = new Runnable() { @Override public void run() { rv.setVisibility(View.GONE); Toast.makeText(mContext, "0", Toast.LENGTH_SHORT).show(); } }; mainHandler.post(myRunnable); } }else if(j.equals("[]")){ Handler mainHandler = new Handler(mContext.getMainLooper()); Runnable myRunnable = new Runnable() { @Override public void run() { Toast.makeText(mContext, "0", Toast.LENGTH_SHORT).show(); } }; mainHandler.post(myRunnable); }else{ try { if (jsonArray.length() > 0) { for (int i = 0; i < jsonArray.length(); i++) { JSONObject jsonObject = jsonArray.getJSONObject(i); Pic pic = new Pic(); if (!jsonObject.isNull("Caption")) { pic.Caption = jsonObject.getString("Caption"); } if (!jsonObject.isNull("Date")) { pic.Date = jsonObject.getString("Date"); } if (!jsonObject.isNull("PicLink")) { pic.PicLink = jsonObject.getString("PicLink"); } if (!jsonObject.isNull("Sender_Username")) { pic.Sender_Username = jsonObject.getString("Sender_Username"); } if (!jsonObject.isNull("Likes")) { pic.Likes = jsonObject.getString("Likes"); } if (!jsonObject.isNull("id")) { pic.ID = jsonObject.getString("id"); } PicList.add((i+Offset), pic); Log.e("Add","ed"); } Handler mainHandler = new Handler(mContext.getMainLooper()); Runnable myRunnable = new Runnable() { @Override public void run() { if (Offset == 0){ rv.setAdapter(ra); ra.notifyDataSetChanged(); }else{ ra.notifyItemInserted(Offset+1); rv.scrollToPosition(Offset); } rv.setVisibility(View.VISIBLE); } }; mainHandler.post(myRunnable); } } catch (JSONException e) { e.printStackTrace(); Handler mainHandler = new Handler(mContext.getMainLooper()); Runnable myRunnable = new Runnable() { @Override public void run() { rv.setVisibility(View.GONE); } }; mainHandler.post(myRunnable); } } } }); } لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
coco 1,746 ارسال شده در 19 مهر، 2016 سازنده اشتراک گذاری ارسال شده در 19 مهر، 2016 دوستان مشکل حل شد من همش داشتم از متوده Replace استفاده میکردم، در حالی که باید همه فرگمنتا رو add میکردم و با hide و show تغییر میدادم نمایششونو از همینجا از درخواست عاجزانه دارم قسمت 3 آموزش کار با فرگمنت ها رو قرار بدن لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
Gray Mind 913 ارسال شده در 15 مهر، 2016 اشتراک گذاری ارسال شده در 15 مهر، 2016 دقیقا نفهمیدم چی گفتی ولی اگه میخوای وقتی بین فرگمنت ها سوییچ کنی فرگمنت مقادیرش آپدیت بشه از این متد استفاده کن توی اون فرگمنت public void setUserVisibleHint(boolean isVisibleToUser) { if (isVisibleToUser){ //دستورات } } لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
coco 1,746 ارسال شده در 15 مهر، 2016 سازنده اشتراک گذاری ارسال شده در 15 مهر، 2016 دقیقا نفهمیدم چی گفتی ولی اگه میخوای وقتی بین فرگمنت ها سوییچ کنی فرگمنت مقادیرش آپدیت بشه از این متد استفاده کن توی اون فرگمنت public void setUserVisibleHint(boolean isVisibleToUser) { if (isVisibleToUser){ //دستورات } } سلام عزیز خب الان من میخوام آپدیت نشه میخوام همونایی که قبله سوییچ بوده بمونه لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
Gray Mind 913 ارسال شده در 15 مهر، 2016 اشتراک گذاری ارسال شده در 15 مهر، 2016 خوب بریزشون توی یه متغیر بعد تو حالت بالا که گفتم دوباره بریزشون توی همون ادیت تکست. نمیشه اینطوری؟ احتمالا تو حالت onpause باید بریزی تو متغیر و نو حالت بالا پس بگیری لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
coco 1,746 ارسال شده در 15 مهر، 2016 سازنده اشتراک گذاری ارسال شده در 15 مهر، 2016 خوب بریزشون توی یه متغیر بعد تو حالت بالا که گفتم دوباره بریزشون توی همون ادیت تکست. نمیشه اینطوری؟ احتمالا تو حالت onpause باید بریزی تو متغیر و نو حالت بالا پس بگیری ممنون عزیز تست میکنم همینجا خبر میدم لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
coco 1,746 ارسال شده در 19 مهر، 2016 سازنده اشتراک گذاری ارسال شده در 19 مهر، 2016 دوستان مشکل حل نشد با دیباگ کردن فهمیدم که متوده onCreateView فرگمنت دوباره لود میشه لطفا راهنمایی کنید لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
kalizadeh81 1 ارسال شده در 19 اسفند، 2016 اشتراک گذاری ارسال شده در 19 اسفند، 2016 سلام بنده از شما مدیران گرامی خواهشمندم در رابطه با این موضوع یه آموزش کامل 0 تا 100 رو درست کنید مثل همین که اطلاعات رو توش قرار بده و ... با این کتابخانه از شما خواهش میکنم.... نسخه ی جدید این کتابخونه خودش ویو پیجر داره لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
سوال
coco 1,746
سلام دوستان
من در برنامم اومدم ار باتم نویگیشن استفاده میکنم
بعد بالاش هم یه فریم لی اوت گذاشتم
و میام تو رویداد آن تب سلکتدفرگمنتی که فریم لی اوت نشون میده رو تغییر میدم
حالا من تو فرگمنت اول یه ریسایکلر دارم که اطلاعات رو از اینترنت میگیره و نشون میده
و تو اون یکی یه ادیت تکست برای تست گذاشتم
وقتی سوییچ میکنم بینشون فرگمنتی که ادیت تکست داره ، متنه ادیت تکستش همون میمونه اما فرگمنتی که ریسایکلر داره (1 آیتم داره که تسته) بهش 1 دونه از همون آیتم اضافه میشه
اینم کدا :
MainActivity:
HBottomNavigation bottomNavigation = (AHBottomNavigation) findViewById(R.id.bottom_navigation); AHBottomNavigationItem item_all = new AHBottomNavigationItem("خانه", R.drawable.home, R.color.colorAccent); AHBottomNavigationItem item_search = new AHBottomNavigationItem("جستجو", R.drawable.magnify, R.color.colorAccent); AHBottomNavigationItem item_add = new AHBottomNavigationItem("ارسال", R.drawable.plus_circle, R.color.colorAccent); AHBottomNavigationItem item_profile = new AHBottomNavigationItem("پروفایل", R.drawable.account, R.color.colorAccent); bottomNavigation.addItem(item_all); bottomNavigation.addItem(item_search); bottomNavigation.addItem(item_add); bottomNavigation.addItem(item_profile); bottomNavigation.setDefaultBackgroundColor(Color.parseColor("#689f38")); bottomNavigation.setAccentColor(Color.parseColor("#FFFFFF")); bottomNavigation.setInactiveColor(Color.parseColor("#DDDDDD")); bottomNavigation.setForceTitlesDisplay(true); frameLayout = (FrameLayout) findViewById(R.id.fLayout); manager = getSupportFragmentManager(); transaction = manager.beginTransaction(); transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); all = new All(getApplicationContext()); newPost = new NewPost(getApplicationContext()); transaction.add(R.id.fLayout , all); transaction.commit(); bottomNavigation.setOnTabSelectedListener(new AHBottomNavigation.OnTabSelectedListener() { @Override public boolean onTabSelected(int position, boolean wasSelected) { switch (position){ case 0: selected = all; break; case 1: break; case 2: selected = newPost; break; case 3: break; } if (!wasSelected){ switch (position){ case 0: transaction = manager.beginTransaction(); transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); transaction.replace(R.id.fLayout,all); transaction.commit(); break; case 1: break; case 2: transaction = manager.beginTransaction(); transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); transaction.replace(R.id.fLayout,newPost); transaction.commit(); break; case 3: break; } } return true; } });All Fragment:
RecyclerView rv; OkHttpClient client = new OkHttpClient(); JSONArray jsonArray; List<Pic> PicList = new ArrayList<Pic>(); public static int Offset; EndlessRecyclerOnScrollListener erosl; RecyclerAdapter ra; private Context mContext; private ViewGroup mContainer; public All(Context context) { super(); this.mContext = context; } @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_all,container,false); mContainer = container; try { jsonArray = new JSONArray(""); } catch (JSONException e) { e.printStackTrace(); } rv = (RecyclerView) view.findViewById(R.id.mainRV); ra = new RecyclerAdapter(PicList,mContext); LinearLayoutManager llm = new LinearLayoutManager(mContext); rv.setLayoutManager(llm); rv.setHasFixedSize(true); erosl = new EndlessRecyclerOnScrollListener(llm) { @Override public void onLoadMore(int current_page, int totalItemCount) { Offset = totalItemCount; try { getList(); Log.e("tot",""+totalItemCount); } catch (Exception e) { e.printStackTrace(); } } }; Offset = 0; try { getList(); Log.e("GET","LIST"); } catch (Exception e) { e.printStackTrace(); } rv.setOnScrollListener(erosl); return view; } @Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); } public void getList() throws Exception{ final Request request = new Request.Builder() .url("http://link?Offset="+Offset) .build(); client.newCall(request).enqueue(new Callback() { @Override public void onFailure(Request request, IOException e) { Handler mainHandler = new Handler(mContext.getMainLooper()); Runnable myRunnable = new Runnable() { @Override public void run() { rv.setVisibility(View.GONE); Offset = 0; } }; mainHandler.post(myRunnable); e.printStackTrace(); } @Override public void onResponse(Response response) throws IOException { String j = response.body().string(); Log.e("J===",j); try { jsonArray = new JSONArray(j); } catch (JSONException e) { e.printStackTrace(); } if (j.equals("0 results")) { if (Offset == 0) { Handler mainHandler = new Handler(mContext.getMainLooper()); Runnable myRunnable = new Runnable() { @Override public void run() { rv.setVisibility(View.GONE); Toast.makeText(mContext, "0", Toast.LENGTH_SHORT).show(); } }; mainHandler.post(myRunnable); } }else if(j.equals("[]")){ Handler mainHandler = new Handler(mContext.getMainLooper()); Runnable myRunnable = new Runnable() { @Override public void run() { Toast.makeText(mContext, "0", Toast.LENGTH_SHORT).show(); } }; mainHandler.post(myRunnable); }else{ try { if (jsonArray.length() > 0) { for (int i = 0; i < jsonArray.length(); i++) { JSONObject jsonObject = jsonArray.getJSONObject(i); Pic pic = new Pic(); if (!jsonObject.isNull("Caption")) { pic.Caption = jsonObject.getString("Caption"); } if (!jsonObject.isNull("Date")) { pic.Date = jsonObject.getString("Date"); } if (!jsonObject.isNull("PicLink")) { pic.PicLink = jsonObject.getString("PicLink"); } if (!jsonObject.isNull("Sender_Username")) { pic.Sender_Username = jsonObject.getString("Sender_Username"); } if (!jsonObject.isNull("Likes")) { pic.Likes = jsonObject.getString("Likes"); } if (!jsonObject.isNull("id")) { pic.ID = jsonObject.getString("id"); } PicList.add((i+Offset), pic); Log.e("Add","ed"); } Handler mainHandler = new Handler(mContext.getMainLooper()); Runnable myRunnable = new Runnable() { @Override public void run() { if (Offset == 0){ rv.setAdapter(ra); ra.notifyDataSetChanged(); }else{ ra.notifyItemInserted(Offset+1); rv.scrollToPosition(Offset); } rv.setVisibility(View.VISIBLE); } }; mainHandler.post(myRunnable); } } catch (JSONException e) { e.printStackTrace(); Handler mainHandler = new Handler(mContext.getMainLooper()); Runnable myRunnable = new Runnable() { @Override public void run() { rv.setVisibility(View.GONE); } }; mainHandler.post(myRunnable); } } } }); }لینک ارسال
به اشتراک گذاری در سایت های دیگر
7 پاسخ به این سوال تاکنون داده شده است
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.