我有一個類型爲Fragment的getItem(int position)方法。我有大約100多頁,這意味着每一頁都不一樣我正在嘗試使用switch和case語句。每種情況都會返回一個擴展Fragment的新類,如下所示。更簡單的方式在Java中使用Switch/Case語句Android
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語句,這將花費很長時間。謝謝
從你給'page1',...,'page900'的例子將它們設置爲頁面都沒有任何不同。你爲什麼需要一個開關? – andre
heheh,不錯的代碼:) – Taras
感謝編輯這個問題,下一步就是給出一個反饋給答案,就像「這不會工作,因爲xy ..」 – lelloman