استفاده از setArguments در فرگمنت ها

Omid Zakeri
توسط Omid Zakeri در فرگمنت,
بهترین روش برای تجزیه و تحلیل فرگمنت ها استفاده از Arguments در آندروید می باشد.( setArguments  ) چند راه برای تجزیه و تحلیل و انتقال اطلاعات به فرگمنت ها در اندروید وجود دارد. با این حال، هنگامی که این کار را انجام می دهید، باید مراقب باشید و در هنگام نمونه برداری و انتقال داده ها به قطعات باید از روش های اشتباه اجتناب کنید. با این حال، این روش اشتباه است. از آنجا که هنگامی که برنامه شما به پس زمینه ارسال می شود و برنامه های دیگر نیاز به حافظه بیشتر و بیشتر دارند، پس برنامه و منابع آن از حافظه پاک می شود تا فضای جدید را باز کند. import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; /** * Sample fragment to demonstrate the instantiation of fragments with arguments * * Created by Günhan on 28.10.2015. */ public class MyFragment extends Fragment { private String name; private int age; private TextView mNameTextView; private TextView mAgeTextView; public static MyFragment newInstance(String name, int age) { Bundle bundle = new Bundle(); bundle.putString("name", name); bundle.putInt("age", age); MyFragment fragment = new MyFragment(); fragment.setArguments(bundle); return fragment; } private void readBundle(Bundle bundle) { if (bundle != null) { name = bundle.getString("name"); age = bundle.getInt("age"); } } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_sample, container, false); mNameTextView = (TextView) view.findViewById(R.id.nameTextView); mAgeTextView = (TextView) view.findViewById(R.id.ageTextView); readBundle(getArguments()); mNameTextView.setText(String.format("Name: %s", name)); mAgeTextView.setText(String.format("Age: %d", age)); return view; } } در این مثال، برای نمایش MyFragment باید از کد زیر استفاده کنید: Fragment fragment = MyFragment.newInstance("OMID", 27);  
  • 0 پاسخ