Tôi đang sử dụng mã sau, MAX là 2 trang. Theo mặc định, vị trí là 0 và thêm một trang mới ở bên phải. Tôi thổi phồng hai tệp bố cục.Đặt trang mặc định cho ViewPager trong Android
Làm cách nào để hiển thị trang1 khi ứng dụng bắt đầu và thêm trang mới ở bên trái? Cảm ơn.
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<android.support.v4.view.ViewPager
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:id="@+id/pagerView" />
</LinearLayout>
mã Java
public class MyPagerActivity extends Activity {
private Context context;
private int pageNumber;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
context = this;
ViewPager pagerView = (ViewPager)findViewById(R.id.pagerView);
pagerView.setAdapter(new AwesomePagerAdapter());
}
private class AwesomePagerAdapter extends PagerAdapter{
@Override
public void destroyItem(View collection, int position, Object view) {
((ViewPager) collection).removeView((View)view);
}
@Override
public void finishUpdate(View arg0) {
//setPageTitles(getPageNumber());
}
@Override
public int getCount() {
return 2;
}
@Override
public Object instantiateItem(View collection, int position) {
/* TextView tv = new TextView(MyPagerActivity.this);
tv.setText("Bonjour PAUG " + position);
tv.setTextColor(Color.WHITE);
tv.setTextSize(30);
((ViewPager) collection).addView(tv,0);
return tv;*/
View view = getViewToShow(position);
((ViewPager) collection).addView(view,0);
return view;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view==((View)object);
}
@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
}
}
private View getViewToShow(int position){
View view = null;
View layout;
LayoutInflater mInflater = (LayoutInflater)
context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
switch(position){
case 0:
layout = mInflater.inflate(R.layout.elements, null);
view = layout;
break;
case 1: view =
layout = mInflater.inflate(R.layout.elements2, null);
view = layout;
break;
}
return view;
}
}
Điều đó có hiệu quả. Cảm ơn. – dcanh121