0

表示するタブ/ページの合計が 1000 を超えています。EditText に数値を入力して任意のタブ/ページを表示できるようにしたいのですが、ボタンをクリックすると、指定したタブにジャンプする必要があります。たとえば、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;
    }
}
}
4

1 に答える 1

0

ViewPager を使用するsetCurrentItem(int)と、表示するアイテムのインデックスを使用して渡すことができます。また、FragmentPagerAdapter は、0 から 0 までの任意のインデックスのアイテムを生成できる必要がありますが、getCount()現在はそうではありません。

于 2013-03-31T21:49:13.810 に答える