(۱۳۹۸/۰۲/۱۶, ۱۰:۰۲ ق.ظ)mahan نوشته: سلام خدمت دوستان
mainActivity دارای تب لیوت و viewPager است و tabLayout دارای 26 تب است و یک فرگمنت برای تمام تب ها که فرگمنت دارای RecyclerView است که اطلاعات از دیتابیس را در recyclerview نمایش میدهد و ریساکلیر من یک دکمه برای ویرایش و فرگمنتبه شکل زیر است
کد:public class FragmentNew extends Fragment {
public int mPage;//in tedade iteme tablayout ast
public static final String ARG_PAGE = "ARG_PAGE";
RecyclerView recyclerView;
static AdapterRecyclerView adapterRecyclerView;
LinearLayoutManager linearLayoutManager;
public static FragmentNew newInstance(int page) {
Bundle args = new Bundle();
args.putInt(ARG_PAGE, page);
FragmentNew fragment = new FragmentNew();
fragment.setArguments(args);
return fragment;
}
@Override
public void onCreate(Bundle saveInstanceState) {
super.onCreate(saveInstanceState);
mPage = getArguments().getInt(ARG_PAGE);
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable final ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment1, container, false);
if (mPage == 1) {
linearLayoutManager = new LinearLayoutManager(G.context);
recyclerView = (RecyclerView) view.findViewById(R.id.recyfrag);
adapterRecyclerView = new AdapterRecyclerView(ActivityMain.a);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(linearLayoutManager);
recyclerView.setAdapter(adapterRecyclerView);
adapterRecyclerView.notifyDataSetChanged();
}
if (mPage == 2) {
و در addapterViewPager در قسمت get item به شکل زیر است
کد:public Fragment getItem(int position) {
return FragmentNew.newInstance(position+1);
تا اینجا مشکلی ندارم اما مشکل من وقتی است که رو دکمه ویرایش در recyclerview کلیک میکنم به اکتیویتی دیگه میرم و اطلاعات رو ویرایش و با استفاده از intent به Activity دارای tablyout برمیگردم تب من رفرش نشده و باید از برنامه خارج و بعد وارد تا تغییرات انجام بشه و من در متد onResum() در فرگمنت نوتیفای رو انجام با این کار فقط با جابجایی بین یک تب با دو تب کنار تر رفرش میشه حالا چطور وقتی روی ویرایش کلیک میکنم و به اکتیویتی دیگر میرم و ویرایش میکنم و برمیگردم اطلاعات ویرایش شده باشه ممنون میشک راهنمایی کنید
سلام
با احترام به جواب ادمین.
چیزی که متوجه شدم از حرفای شما که از برنامه خارج میشید و بعد دوباره وارد میشید تغییرات رو میبینید یعنی باید برای نمایش تغییرات متد Oncreate رو یک بار اجرا کنید، چیزی که از حرفای شما به ذهنم میرسه شما زمانی که روی دکمه رفتن به صفحه جدید رو میزینید برای ویرایش کافیه صفحه جاری رو close یا finish کنید و بعد از انجام ویرایش با Intent یک بار دیگه همون صفحه دارای فریگمنت رو به اصطلاح startActivity کنید. فک کنم مشکلت برطرف میشه
ErfanMahigir