当我单击视图寻呼机中的按钮时如何更改到上一页

How change to previous page when i click button inside view pager

在这段代码中,当我点击第二页的按钮时,我需要移动到上一页或第一页。我试过了,但它是错误的。

请帮帮我

PagerAdapter

这是我的代码:

public class MyPageAdapter extends PagerAdapter  implements ExpandableContactsSection.ClickListener {
    private  List<AccountData> bData;

    private String GetID;
    
    Context mContext;
    private Activity mHostActivity;
    private RecyclerView.Adapter mAdapter;

    private static final String TAG = "PagerAdapter";
    RecyclerView recyclerView;

    public MyPageAdapter(Context context) {
        mContext = context;
        mHostActivity = (Activity) context;



    }


    public Object instantiateItem(ViewGroup collection, int position) {

        LayoutInflater inflater = LayoutInflater.from(mContext);


        switch (position) {
            case 0:
                resId = R.layout.master_listdetail;
                break;
            case 1:
                resId = R.layout.master_bank;
                break;
        }

        ViewGroup layout = (ViewGroup) inflater.inflate(resId, collection, false);
        if(position==0){
            Log.d(TAG,"Me clicked");

        } else if(position==1){
            Log.d(TAG,"Second clicked");

            Button btnBack =layout.findViewById(R.id.btnclose);
            btnBack.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                  instantiateItem (collection, 0)    ' here i required the code to go previous page
                    System.out.println("Backed");

                }
            });
        }
        collection.addView(layout);
        return layout;
    }

 

    @Override
    public int getCount() {
        return 2;
    }

您可以尝试为此使用回调。创建一个接口,该接口将传递给 ViewPagerAdapter 的项目。该接口将在包含 ViewPager 的 activity/fragment 中实现。这样的东西会起作用

//Define your interface
interface ViewPagerButtonClickListener {
    fun onButtonClick()
}

//Implement the interface in your activity and pass it to your ViewPagerAdapter
class MyActivity : AppCompatActivity(), ViewPagerButtonClickListener {

    private var mViewPager: ViewPager? = null

    //Here you can navigate to whatever page you want
    override fun onButtonClick() {
        
    }

    //Someplace where you are initializing your adapter
    fun initAdapter() {
        var viewPagerAdapter = ViewPagerAdapter()
        viewPagerAdapter.setButtonClickListener(this)
    }
}

//In your adapter
class ViewPagerAdapter {
    private var mListener: ViewPagerButtonClickListener? = null

    fun setButtonClickListener(listener: ViewPagerButtonClickListener) {
        mListener = listener
    }
}

现在你有了回调,你可以使用它导航到你想要的地方。