بحث مهم در مورد فرگمنت ها و کاربردهای آن
با سلام یه سوال خیلی مهم داشتم از خدمت دوستان
من یه سری فرگمنت درست کردم ولی انگار کد نویسی تو فرگمنت با کد نویسی تو اکتیویتی معمولی فرق داره مثلا تو تعریف
Button button = (Button)finvdviewbyid(R.id.hellio) l
ولی تو فرگمنت نمیشه اینطوری ادرس داد به یه دکمه یا هر چیز دیگه
و باید قبل از findview یه مقدار getView() l قرار بدیم
در کل فک کنم خیلی تفاوت داره نوشتن کد ها تو اکتیویتی معلمولی و فرگمنت
لطفا اگه میشه راهنمایی ام کنید که چطور کدهای یه اکتیویتی رو بیارم تو یه فرگمنت و چه تغییراتی لازم هست؟ مثلا کد های لیست ویو تو اکتیویتی معمولی با فرگمنت چقدر فرق داره با تشکر.
لطفا کمک کنید کارم واجبه
دوست من سلام
کد نویسی در فرگمنت یک سری تفاوت هایی با کد نویسی در اکتیویتی داره، تفاوتش هم در اکستندز کردن اون از Fragment و سپس متدهایی هست که باید override بشن، من برای نمونه کدهایی رو از فرگمنت در زیر براتون قرار داده ام:
public class MyFragment extends Fragment {
private ViewGroup layout;
private Adapter adapter;
private GridView gridView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
layout = (ViewGroup) inflater.inflate(R.layout.fragment_layout, null); //در این قسمت لایه فرگمنت معرفی می شود
return layout;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
gridView = (GridView) layout.findViewById(R.id.grdList);
adapter = new Adapter(G.list);
gridView.setAdapter(adapter);
populateFromNetwork();
adapter.notifyDataSetChanged();
Button btn = (Button) layout.findViewById(R.id.btn);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(G.currentActivity, ActivitSecound.class);
G.currentActivity.startActivity(intent);
}
});
}
کدها مشخص هستند، همانطور که خودتون هم اشاره کردید قبل از findViewByID بایستی لایه ای رو که viewGroup هست رو قبل از اون معرفی کنیم
موفق باشید
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .