بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
لیست ویو در ویوپیجر ( حل نشده + جهاد کنید دوستان عزیز :)) )
درود...
چطوری میتونم توو ویوپیجر , لیست ویو رو ست کنم؟؟
این کد از فرگمنت اول من هست :
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();
}
};
}
پاسخ به سوال
مسعود کریمی نژاد
10 سال پیش
+4
0
سلام دوست عزیز دقیقا همون چیزی رو که نیازتون بود رو توی این پروژه درست کردم امید وارم مشکلتون حل بشه
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .