gpt4 book ai didi

java - 无法通过引用访问方法

转载 作者:行者123 更新时间:2023-12-02 03:26:20 24 4
gpt4 key购买 nike

当我直接在 PagerAdapter 创建上访问该方法时,我有 getViewAtPosition() 方法。当我使用引用尝试它时,我不能。我可以做什么才能通过引用获得访问权限?

在这里我可以: 1 : enter image description here

这里我不能: 2 : enter image description here

public class CardapioRU extends Fragment {

private ViewPager mPager;
private PagerAdapter mPagerAdapter;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
ViewGroup rootView = (ViewGroup) inflater.inflate(R.layout.view_pager_ru, container, false);

mPager = (ViewPager) rootView.findViewById(R.id.pager);
mPagerAdapter = new PagerAdapterRU(inflater);
mPager.setAdapter(mPagerAdapter);
return rootView;
}

}

.

public class PagerAdapterRU extends PagerAdapter {

private View domingo = null;
private View segunda = null;

@SuppressLint("InflateParams")
public PagerAdapterRU(LayoutInflater inflater) {
domingo = inflater.inflate(R.layout.ru_domingo, null);
segunda = inflater.inflate(R.layout.ru_segunda, null);
}

public View getViewAtPosition(int position) {
View view = null;
if (position == 0) {
view = domingo;
}
if (position == 1) {
view = segunda;
}
;
return view;
};

@Override
public Object instantiateItem(View collection, int position) {
View view = getViewAtPosition(position);
((ViewPager) collection).addView(view, 0);
return view;
}

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

最佳答案

getViewAtPosition()PagerAdapterRU 的一种方法。

在第一个屏幕截图中,您直接在 PagerAdapterRU 实例上调用方法,但在第二个屏幕截图中,您在 PagerAdapter 上调用该方法。

无论您如何初始化它,您都可以将其声明为 PagerAdapter,因此您可以访问 PagerAdapter 的方法。

要访问子类的方法,请使用子类的类型进行声明。

更改以下内容:

private PagerAdapter mPagerAdapter;

对此:

private PagerAdapterRU mPagerAdapter;

您将能够在 mPagerAdapter 上调用 getViewAtPosition()

关于java - 无法通过引用访问方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38834280/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com