আমার ক্ষেত্রে আমি দৃশ্যে কিছু অ্যানিমেশন শুরু করতে চেয়েছিলাম, কিন্তু সেট ইউজারভিজিবলহিন্টের সাথে কিছু সমস্যা পেয়েছে ...
আমার সমাধানটি হ'ল:
আপনার অ্যাডাপ্টারের জন্য 1 / addOnPageChangeListener:
mViewPager.addOnPageChangeListener(this);
2 / অনপেজ চ্যাঞ্জলিস্টনার প্রয়োগ করুন:
public class PagesFragment extends Fragment implements ViewPager.OnPageChangeListener
3/3 টি পদ্ধতিতে ওভাররাইড করুন:
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels)
{
}
@Override
public void onPageSelected(int position)
{
}
@Override
public void onPageScrollStateChanged(int state)
{
}
4 / আপনার ক্লাসে এই পরিবর্তনশীল ডিক্লেয়ার এবং আরম্ভ করুন
private static int mTabState = 1;
বিজ্ঞপ্তি : আমার আমার অ্যাডাপ্টারে তিনটি টুকরা রয়েছে, এবং সেটক্রেনার আইটেম এবং অ্যাডাপ্টারের বর্তমান অবস্থানের জন্য এমট্যাবস্টেট ব্যবহার করি যা সনাক্ত করে কোন ফাংশনটি সময়মতো ব্যবহারকারীকে দেখানো হয় ... 5 / অনপেজ নির্বাচিত পদ্ধতিতে এই কোডগুলি যুক্ত করুন:
if (mTabState == 0 || position == 0)
{
Intent intent = new Intent("animation");
intent.putExtra("current_position", position);
LocalBroadcastManager.getInstance(mContext).sendBroadcast(intent);
}
পূর্ববর্তী পৃষ্ঠা বা বর্তমান পৃষ্ঠাটি যদি পৃষ্ঠা 0 হয় (0 অবস্থানের মধ্যে টুকরা) তবে এই জিনিসটি করুন do
6 / এখন আপনার খণ্ড শ্রেণিতে (অ্যাডাপ্টারের 0 অবস্থানে টুকরো টুকরো), আপনাকে অবশ্যই সম্প্রচারের রিসিভার তৈরি করতে হবে এবং এটি অনারুম পদ্ধতিতে নিবন্ধন করতে হবে এবং এটি অনিয়ন্ত্রিত করুন on methos:
BroadcastReceiver broadcastReceiver = new BroadcastReceiver()
{
@Override
public void onReceive(Context context, Intent intent)
{
if (Objects.equals(intent.getAction(), "animation"))
{
int currentPosition = intent.getIntExtra("current_position", 0);
if (currentPosition == 0)
{
startAnimation();
setViewsVisible();
} else
{
setViewsInvisible();
}
}
}
};
@Override
public void onResume()
{
super.onResume();
LocalBroadcastManager.getInstance(mContext).registerReceiver(broadcastReceiver, new IntentFilter("animation"));
}
@Override
public void onPause()
{
super.onPause();
LocalBroadcastManager.getInstance(mContext).unregisterReceiver(broadcastReceiver);
}
সংক্ষিপ্তসার: আমার কাছে ফ্রেগমেন্ট পেজার অ্যাডাপ্টার জাদুকরীটিতে এর মধ্যে তিনটি টুকরোগুলি রয়েছে, আমি অ্যাডাপ্টারের পজিশন 0-এ ফ্রেগমেন্টে ভিউগুলিতে কিছু অ্যানিমেশন দেখাতে চাই, এর জন্য আমি ব্রডকাস্টআরসিভার ব্যবহার করি। যখন খণ্ডটি বাছাই করা হয় আমি অ্যানিমেশন পদ্ধতি শুরু করি এবং ব্যবহারকারীর দর্শন দেখায়, যখন খণ্ড যখন ব্যবহারকারীকে দেখায় না তখন আমি অদৃশ্য দৃশ্যের চেষ্টা করি ...