آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

سوال در مورد MemoryCache

علی  11 سال پیش  11 سال پیش
0 0

سلام بچه ها:

من یک ViewPager دارم که خودش اتوماتیک عوض میشه در یک قسمت از پروژه ام. حالا وقتی عکس ها عوض میشه بعد از چند دقیقه از برنامه میاد بیرون . 

می خوام از Memory Catch استفاده کنم ولی بلد نیستم . کسی اطلاعات داره که ایا بهتر میشه یا مشکل از یه جا دیگه میتونه باشه.

اینو هم بگم وقتی سایز عکس ها کوچک است این اتفاق نمیوفته.

 

 


public class HomeFragment extends Fragment { ViewPager mViewPager; private CustomPagerAdapter mCustomPagerAdapter; private ImageView[] imageViews; public HomeFragment(){} public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_home, container, false); ImageView imgProduct = (ImageView) rootView.findViewById(R.id.imgProduct); imgProduct.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { ProductFragment nextFrag= new ProductFragment(); getFragmentManager().beginTransaction() .replace(R.id.frame_container, nextFrag) .addToBackStack(null) .commit(); } }); mCustomPagerAdapter = new CustomPagerAdapter(getActivity()); mViewPager = (ViewPager) rootView.findViewById(R.id.pager); mViewPager.setAdapter(mCustomPagerAdapter); pageSwitcher(4); return rootView; } Timer timer; int page = 0; public void pageSwitcher(int seconds) { timer = new Timer(); timer.scheduleAtFixedRate(new RemindTask(), 0, seconds * 1000); } class RemindTask extends TimerTask { @Override public void run() { getActivity().runOnUiThread(new Runnable() { public void run() { if (page >= mCustomPagerAdapter.size()) { page = 0; } else { mViewPager.setCurrentItem(page++); } } }); } } }

 

CustomPagerAdapter.java

 

 public class CustomPagerAdapter extends PagerAdapter {

    int[]              mResources = {
                                  R.drawable.image1,
                                  R.drawable.image2,
                                  R.drawable.image3,
                                  R.drawable.image4
                                
                                  };

    Context            mContext;
    LayoutInflater     mLayoutInflater;

    protected Runnable itemView;


    public CustomPagerAdapter(Context context) {
    	 mContext = context;
        mLayoutInflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    }


    @Override
    public int getCount() {
        return mResources.length;
    }


    @Override
    public boolean isViewFromObject(View view, Object object) {
        return view == ((LinearLayout) object);
    }


    @Override
    public Object instantiateItem(ViewGroup container, int position) {
        View itemView = mLayoutInflater.inflate(R.layout.pager_item, container, false);

        ImageView imageView = (ImageView) itemView.findViewById(R.id.imageView);

        imageView.setImageResource(mResources[position]);

        container.addView(itemView);

        return itemView;
    }


    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
        container.removeView((LinearLayout) object);
    }


    public int size() {

        return mResources.length;
    }

}

 

 برای این سوال پاسخی وجود ندارد.

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .