当我单击视图寻呼机中的按钮时如何更改到上一页
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
}
}
现在你有了回调,你可以使用它导航到你想要的地方。
在这段代码中,当我点击第二页的按钮时,我需要移动到上一页或第一页。我试过了,但它是错误的。
请帮帮我
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
}
}
现在你有了回调,你可以使用它导航到你想要的地方。