我有一个片段类型的 getItem(int position) 方法。我有大约 100 多页,这意味着我尝试使用 switch 和 case 语句的每一页都不同。每个案例都返回一个扩展片段的新类,如下所示。
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 语句更容易做到这一点的方法,这将花费很长时间。谢谢