Android Viewpager不支持';t更新/加载xml项
我用onclicklistsner解决了viewpager的问题,但现在我注意到,它取决于XML布局文件中的所有元素 我使用该教程实现了一个ViewPager: 现在我遇到了一个问题,我在XML中定义的所有对象都实例化正确(在findViewById等之后的Debuggin模式中不为null),但我无法引用它们。 为了更好地理解它,我的PagerAdapter:Android Viewpager不支持';t更新/加载xml项,android,android-viewpager,instant,Android,Android Viewpager,Instant,我用onclicklistsner解决了viewpager的问题,但现在我注意到,它取决于XML布局文件中的所有元素 我使用该教程实现了一个ViewPager: 现在我遇到了一个问题,我在XML中定义的所有对象都实例化正确(在findViewById等之后的Debuggin模式中不为null),但我无法引用它们。 为了更好地理解它,我的PagerAdapter: class MyPagerAdapter extends PagerAdapter { public int getCoun
class MyPagerAdapter extends PagerAdapter {
public int getCount() {
return 3;
}
public Object instantiateItem(View collection, int position) {
LayoutInflater inflater = (LayoutInflater) collection.getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
int resId = 0;
switch (position) {
case 0:
resId = R.layout.settings_view;
break;
case 1:
resId = R.layout.push_view;
break;
case 2:
resId = R.layout.listen_view;
break;
}
View view = inflater.inflate(resId, null);
((ViewPager) collection).addView(view, 0);
return view;
}
@Override
public void destroyItem(View arg0, int arg1, Object arg2) {
((ViewPager) arg0).removeView((View) arg2);
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == ((View) arg1);
}
@Override
public Parcelable saveState() {
return null;
}
public int getItemPosition(Object object) {
return POSITION_NONE;
}
}
下面是我的适配器实现和一些示例代码:
ViewPager myPager = (ViewPager)findViewById(R.id.pager);
adapter = new MyPagerAdapter();
myPager.setAdapter(adapter);
myPager.setCurrentItem(0);
微调器微调器=(微调器)listenView.findviewbyd(R.id.Dashboard\u选择器);
按钮按钮=(按钮)pushview.findViewById(R.id.Button)
按钮和微调器都不起作用。它们都是正确实例化的,但我无法单击buton,也无法使微调器填充微调器项数组
在Debu模式下,我查了一下,它们都得到了实例化,SpinnerItemArray(si)得到了它的值,依此类推
顺便说一句,在我实现ViewPager之前,所有的事情都是有效的,在设置android:onClick-in-XML并在代码中定义方法时,按钮也起作用,但这对微调器不起作用,所以我认为InstanceItem方法或类似的方法一定有问题
这里有人知道这个问题吗?
如果有人能帮忙,那就太酷了。
你的Flo好的,用这个链接解决了
ArrayAdapter spinnerArrayAdapter = new ArrayAdapter(getApplicationContext(),android.R.layout.simple_spinner_item, si);
spinner.setAdapter(spinnerArrayAdapter);
push.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
//do something
});