我想創建了一個布局,類似 Google play's。我使用 ViewPager ,需要 fragment。我查了一些資料說一個 fragment 需要一個空的構造函數,但是事例中在 developer.android.com 不包含一個構造函數。
事例代碼如下:
public static class DemoObjectFragment extends Fragment {
public static final String ARG_OBJECT = "object";
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
// The last two arguments ensure LayoutParams are inflated
// properly.
View rootView = inflater.inflate(
R.layout.fragment_collection_object, container, false);
Bundle args = getArguments();
((TextView) rootView.findViewById(android.R.id.text1)).setText(
Integer.toString(args.getInt(ARG_OBJECT)));
return rootView;
}
}
需要在一個fragment中包含一個構造函數嗎?或者直接省去構造函數?
Java 編譯器會在沒有構造函數的類中自動添加一個默認的無參構造函數(就是問題中提到的 "empty constructor")
下面的空類:
public class A {
}
等同於下面這個空的無參構造函數:
public class A {
public A() {
}
}
你要明確的添加一個無參構造函數當包含另一個只有一個或多個參數的構造函數,因為這樣的話,編輯器就不能添加。