java切换选项卡使用按钮通过输入选项卡编号转到另一个选项卡?
我总共有1000多个选项卡/页面可供查看。我希望能够通过输入一个数字来编辑文本,并在点击按钮时跳转到指定的选项卡,从而查看任何选项卡/页面。例如,如果我在第1页,如果我输入“600”并点击搜索(按钮),我应该能够查看该特定页面,并确保600旁边的页面应该是601,601。。。。在600之前应该是599598
public class MainActivity extends FragmentActivity {
SectionsPagerAdapter mSectionsPagerAdapter;
ViewPager mViewPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
mViewPager = (ViewPager) findViewById(R.id.pager);
mViewPager.setAdapter(mSectionsPagerAdapter);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public class SectionsPagerAdapter extends FragmentPagerAdapter {
public SectionsPagerAdapter(FragmentManager fm) {
super(fm);
}
public Fragment getItem(int position) {
switch(position){
case 0:
case 1:
Ang100s.Ang1 ang1 = new Ang100s.Ang1();
return ang1;
case 2:
Ang100s.Ang2 ang2 = new Ang100s.Ang2();
return ang2;
case 3:
Ang100s.Ang3 ang4 = new Ang100s.Ang3();
return ang4;
}
Help help = new Help();
return help;
}
@Override
public int getCount() {
return 1430;
}
@Override
public CharSequence getPageTitle(int position) {
Locale l = Locale.getDefault();
for(int i = 1;i < 1430; i++){
if(position == i){
return "Ang " + position;
}
}
return null;
}
}
public static class Help extends Fragment {
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main_dummy,
container, false);
final Button search = (Button) rootView.findViewById(R.id.clicktosearch);
final EditText number = (EditText)rootView.findViewById(R.id.number);
search.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(number.getText().toString().equals("1")){
}
}
});
return rootView;
}
}
}
# 1 楼答案
有了ViewPager,你可以使用
setCurrentItem(int)
并将你想要显示的项目的索引传递给它。此外,FragmentPagerAdapter需要能够为从0到getCount()
的任何索引生成一个项,而目前它没有