Fragment 型の getItem(int position) メソッドがあります。スイッチとケースステートメントを使用しようとしていたすべてのページが異なることを意味する約100ページ以上があります。すべてのケースは、以下に示すように Fragment を拡張する新しいクラスを返します。
public class Pages{
public static class Page1 extends Fragment {
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final 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) {
for(int i = 0; i < MainActivity.Help.arr.length; i++){
if(number.getText().toString().equals(MainActivity.Help.arr[i])){
MainActivity.mViewPager.setCurrentItem(i);
}
}
}
});
WebView webview = (WebView) rootView
.findViewById(R.id.webview);
webview.loadUrl("file:///android_asset/2.html");
return rootView;
}
}
}
public Fragment getItem(int position) {
switch(position){
case 1:
Pages.Page1 page1 = new Pages.Page2();
return page1; //same with other pages in different cases.
非常に時間がかかる switch/case ステートメントを使用するよりも、これを行う方が簡単ですか。ありがとう