代码拉取完成,页面将自动刷新
package org.wenhua.yuan.and.views.tab_fragment;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.FrameLayout;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
public class TabBtnFragmentLayout extends FrameLayout {
private TabBtnFragmentAdapter btnFragmentAdapter;
private int curPosition; // 记录当前position的fragment
public TabBtnFragmentLayout(@NonNull Context context) {
this(context, null);
}
public TabBtnFragmentLayout(@NonNull Context context, @Nullable AttributeSet attrs) {
this(context, attrs, 0);
}
public TabBtnFragmentLayout(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
this.initTabBtnFragment(context, attrs, defStyleAttr);
}
private void initTabBtnFragment(Context context, AttributeSet attrs, int defStyleAttr) {
}
public void setAdapter(TabBtnFragmentAdapter adapter) throws IllegalAccessException {
if (adapter == null) throw new IllegalAccessException("TabBtnFragmentAdapter 传入实例并不能为空");
this.btnFragmentAdapter = adapter;
this.curPosition = -1;
setCurrentItem(0);//设置默认显示tab-fragment
}
public void setCurrentItem (int position) {
if (btnFragmentAdapter == null || position < 0 || position > btnFragmentAdapter.getTotalCount() -1){
return;
}
if (position != curPosition) {
// 避免重复执行instantiateItem
curPosition = position;
btnFragmentAdapter.instantiateItem(this, position);
}
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。