使用按钮切换标签,通过输入标签号转到另一个标签?

时间:2013-03-31 21:42:01

标签: java android search tabs

我总共需要查看超过1000个标签/页面。我希望能够通过在EditText中输入一个数字来查看任何选项卡/页面,当单击Button时,它应该跳转到指定的选项卡。例如,如果我在第1页,如果我输入“600”并点击搜索(按钮),我应该能够查看该特定页面并确保600旁边的页面应该是601,601 ....之前600应该是599,598 ......

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 个答案:

答案 0 :(得分:0)

使用ViewPager,您可以使用setCurrentItem(int)并将其传递给您想要显示的项目的索引。此外,您的FragmentPagerAdapter需要能够为从零到getCount()的任何索引生成项目 - 目前它不会。