ViewFlipper怎么从第一个页面直接跳到第三个页面? 那用ViewPager控件,可以额外加个按钮跳转到 第三个页面,直接滑动到第三个页面貌似 不太行,如果这样做的话 无法滑动到第二个页面了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 肯定是有额外按钮的,我的描述中说了点击按钮一进入一界面,按钮三进入界面三。。如果使用ViewPager方法的话,那么我直接点击按钮三显示 界面三的的方法是调用哪一个呢?我找不到 今天专门查了一下ViewPager是可以的,可以使用viewPager.setCurrentItem(N);的方法。但是ViewFlipper好像不行。上一个例子吧。public class MainPage extends RelativeLayout { MainPageService service; Context context; Activity activity; MyListen mylisten; private ViewPager viewPager; private ArrayList<View> pageViews;// private ViewGroup group; Page1 page1; Page2 page2; Page3 page3; Page4 page4; Page5 page5; LinearLayout item; ImageButton btn1; ImageButton btn2; ImageButton btn3; ImageButton btn4; ImageButton btn5; public MainPage(Context context, MainPageService service) { super(context); this.context = context; this.activity = (Activity) context; this.service=service; inflate(context, R.layout.mainpage, this); init(); getAllElements(); setListen(); setListView(); setItem(); setButton(); } private void init() { mylisten = new MyListen(); } private void getAllElements() { viewPager = (android.support.v4.view.ViewPager) findViewById(R.id.guidePages);// group =(ViewGroup) findViewById(R.id.viewGroup); item = (LinearLayout) findViewById(R.id.itemview); btn1 = (ImageButton) findViewById(R.id.one); btn2 = (ImageButton) findViewById(R.id.two); btn3 = (ImageButton) findViewById(R.id.three); btn4 = (ImageButton) findViewById(R.id.four); btn5 = (ImageButton) findViewById(R.id.five); btn1.getLayoutParams().width = PhoneUtil.screenWidth / 5; btn1.getLayoutParams().height = PhoneUtil.unitHeight; btn2.getLayoutParams().width = PhoneUtil.screenWidth / 5; btn2.getLayoutParams().height = PhoneUtil.unitHeight; btn3.getLayoutParams().width = PhoneUtil.screenWidth / 5; btn3.getLayoutParams().height = PhoneUtil.unitHeight; btn4.getLayoutParams().width = PhoneUtil.screenWidth / 5; btn4.getLayoutParams().height = PhoneUtil.unitHeight; btn5.getLayoutParams().width = PhoneUtil.screenWidth / 5; btn5.getLayoutParams().height = PhoneUtil.unitHeight; } private void setButton() { btn1.setBackgroundResource(R.drawable.main_btn); btn2.setBackgroundResource(R.drawable.user_btn); btn3.setBackgroundResource(R.drawable.earn_btn); btn4.setBackgroundResource(R.drawable.exchange_btn); btn5.setBackgroundResource(R.drawable.more_btn); } private void setListView() { viewPager.getLayoutParams().width = -1; viewPager.getLayoutParams().height = PhoneUtil.screenHeight - PhoneUtil.unitHeight - PhoneUtil.sbar; page1 = new Page1(context,service); page2 = new Page2(context,service); page3 = new Page3(context,service); page4 = new Page4(context,service); page5 = new Page5(context,service); pageViews = new ArrayList<View>(); pageViews.add(page1); pageViews.add(page2); pageViews.add(page3); pageViews.add(page4); pageViews.add(page5); } private void setItem() { viewPager.setAdapter(new GuidePageAdapter()); item.getLayoutParams().width = -1; item.getLayoutParams().height = PhoneUtil.unitHeight; android.widget.RelativeLayout.LayoutParams viewPager_lp= (LayoutParams) viewPager.getLayoutParams(); viewPager_lp.setMargins(0, 0, 0, PhoneUtil.unitHeight); } private void setListen() { btn1.setOnClickListener(mylisten); btn2.setOnClickListener(mylisten); btn3.setOnClickListener(mylisten); btn4.setOnClickListener(mylisten); btn5.setOnClickListener(mylisten); } class MyListen implements OnClickListener { @Override public void onClick(View v) { if (btn1 == v) { viewPager.setCurrentItem(0); } else if (btn2 == v) { viewPager.setCurrentItem(1); } else if (btn3 == v) { viewPager.setCurrentItem(2); } else if (btn4 == v) { viewPager.setCurrentItem(3); } else if (btn5 == v) { viewPager.setCurrentItem(4); } else { } } } /** 指引页面Adapter */ class GuidePageAdapter extends PagerAdapter { @Override public int getCount() { return pageViews.size(); } @Override public boolean isViewFromObject(View arg0, Object arg1) { return arg0 == arg1; } @Override public int getItemPosition(Object object) { // TODO Auto-generated method stub return super.getItemPosition(object); } @Override public void destroyItem(View arg0, int arg1, Object arg2) { // TODO Auto-generated method stub ((ViewPager) arg0).removeView(pageViews.get(arg1)); } @Override public Object instantiateItem(View arg0, int arg1) { // TODO Auto-generated method stub ((ViewPager) arg0).addView(pageViews.get(arg1)); return pageViews.get(arg1); } @Override public void restoreState(Parcelable arg0, ClassLoader arg1) { // TODO Auto-generated method stub } @Override public Parcelable saveState() { // TODO Auto-generated method stub return null; } @Override public void startUpdate(View arg0) { // TODO Auto-generated method stub } @Override public void finishUpdate(View arg0) { // TODO Auto-generated method stub } } } 为什么android要使用跨进程通信? Android 无法定义socket 关于android操作数据库的问题 请教View的inflate方法 新手问题! 怎么把2013年高考录取分数线www.chafenlo.com弄成移动端 怎么用animation实现这样的动画 如何修改来电联系人的头像 Android上如何使得a.cpp生成两个静态库(libA.a and libB.a) Android界面刷新的问题 SQLite中怎么列出所有表名 新手第一次使用SQLite使用adb shell错误但没有错误信息
点击按钮一进入一界面,按钮三进入界面三。。
如果使用ViewPager方法的话,那么我直接点击按钮三显示 界面三的的方法是调用哪一个呢?
我找不到
ViewPager是可以的,
可以使用viewPager.setCurrentItem(N);的方法。
但是ViewFlipper好像不行。
上一个例子吧。public class MainPage extends RelativeLayout {
MainPageService service;
Context context;
Activity activity;
MyListen mylisten; private ViewPager viewPager;
private ArrayList<View> pageViews;
// private ViewGroup group;
Page1 page1;
Page2 page2;
Page3 page3;
Page4 page4;
Page5 page5; LinearLayout item;
ImageButton btn1;
ImageButton btn2;
ImageButton btn3;
ImageButton btn4;
ImageButton btn5; public MainPage(Context context, MainPageService service) {
super(context);
this.context = context;
this.activity = (Activity) context;
this.service=service;
inflate(context, R.layout.mainpage, this);
init();
getAllElements();
setListen();
setListView();
setItem();
setButton();
} private void init() {
mylisten = new MyListen();
} private void getAllElements() {
viewPager = (android.support.v4.view.ViewPager) findViewById(R.id.guidePages);
// group =(ViewGroup) findViewById(R.id.viewGroup);
item = (LinearLayout) findViewById(R.id.itemview);
btn1 = (ImageButton) findViewById(R.id.one);
btn2 = (ImageButton) findViewById(R.id.two);
btn3 = (ImageButton) findViewById(R.id.three);
btn4 = (ImageButton) findViewById(R.id.four);
btn5 = (ImageButton) findViewById(R.id.five);
btn1.getLayoutParams().width = PhoneUtil.screenWidth / 5;
btn1.getLayoutParams().height = PhoneUtil.unitHeight;
btn2.getLayoutParams().width = PhoneUtil.screenWidth / 5;
btn2.getLayoutParams().height = PhoneUtil.unitHeight;
btn3.getLayoutParams().width = PhoneUtil.screenWidth / 5;
btn3.getLayoutParams().height = PhoneUtil.unitHeight;
btn4.getLayoutParams().width = PhoneUtil.screenWidth / 5;
btn4.getLayoutParams().height = PhoneUtil.unitHeight;
btn5.getLayoutParams().width = PhoneUtil.screenWidth / 5;
btn5.getLayoutParams().height = PhoneUtil.unitHeight;
} private void setButton() {
btn1.setBackgroundResource(R.drawable.main_btn);
btn2.setBackgroundResource(R.drawable.user_btn);
btn3.setBackgroundResource(R.drawable.earn_btn);
btn4.setBackgroundResource(R.drawable.exchange_btn);
btn5.setBackgroundResource(R.drawable.more_btn); } private void setListView() {
viewPager.getLayoutParams().width = -1;
viewPager.getLayoutParams().height = PhoneUtil.screenHeight
- PhoneUtil.unitHeight - PhoneUtil.sbar; page1 = new Page1(context,service);
page2 = new Page2(context,service);
page3 = new Page3(context,service);
page4 = new Page4(context,service);
page5 = new Page5(context,service); pageViews = new ArrayList<View>();
pageViews.add(page1);
pageViews.add(page2);
pageViews.add(page3);
pageViews.add(page4);
pageViews.add(page5);
} private void setItem() {
viewPager.setAdapter(new GuidePageAdapter());
item.getLayoutParams().width = -1;
item.getLayoutParams().height = PhoneUtil.unitHeight;
android.widget.RelativeLayout.LayoutParams viewPager_lp= (LayoutParams) viewPager.getLayoutParams();
viewPager_lp.setMargins(0, 0, 0, PhoneUtil.unitHeight); } private void setListen() {
btn1.setOnClickListener(mylisten);
btn2.setOnClickListener(mylisten);
btn3.setOnClickListener(mylisten);
btn4.setOnClickListener(mylisten);
btn5.setOnClickListener(mylisten);
} class MyListen implements OnClickListener { @Override
public void onClick(View v) { if (btn1 == v) {
viewPager.setCurrentItem(0);
} else if (btn2 == v) {
viewPager.setCurrentItem(1);
} else if (btn3 == v) {
viewPager.setCurrentItem(2);
} else if (btn4 == v) {
viewPager.setCurrentItem(3);
} else if (btn5 == v) {
viewPager.setCurrentItem(4);
} else { }
}
} /** 指引页面Adapter */
class GuidePageAdapter extends PagerAdapter {
@Override
public int getCount() {
return pageViews.size();
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == arg1;
}
@Override
public int getItemPosition(Object object) {
// TODO Auto-generated method stub
return super.getItemPosition(object);
}
@Override
public void destroyItem(View arg0, int arg1, Object arg2) {
// TODO Auto-generated method stub
((ViewPager) arg0).removeView(pageViews.get(arg1));
}
@Override
public Object instantiateItem(View arg0, int arg1) {
// TODO Auto-generated method stub
((ViewPager) arg0).addView(pageViews.get(arg1));
return pageViews.get(arg1);
}
@Override
public void restoreState(Parcelable arg0, ClassLoader arg1) {
// TODO Auto-generated method stub
}
@Override
public Parcelable saveState() {
// TODO Auto-generated method stub
return null;
}
@Override
public void startUpdate(View arg0) {
// TODO Auto-generated method stub
}
@Override
public void finishUpdate(View arg0) {
// TODO Auto-generated method stub
}
}
}