0
基本上我有多个选项卡,它们都指向相同的.xml
文件,几乎所有的都做同样的事情。我想创建一个Fragment
类,然后在其他五个Fragment
类中重新使用其全部内容。重复使用多个片段中的一个完整片段
所以这是我template
类 - 我想所有的fragments
重用一个:
public class TabTemplate extends Fragment {
TimePicker timePickerOne;
EditText forename;
EditText surname;
EditText email;
EditText telephone;
Button store;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.tabfill, container, false);
timePickerOne = (TimePicker) rootView.findViewById(R.id.timePickers);
forename = (EditText) rootView.findViewById(R.id.forename);
surname = (EditText) rootView.findViewById(R.id.surname);
email = (EditText) rootView.findViewById(R.id.email);
telephone = (EditText) rootView.findViewById(R.id.telephone);
store = (Button) rootView.findViewById(R.id.store);
return rootView;
}
@Override
public void onStart() {
super.onStart();
}
public void populate(){
...
}
}
目前,我有这样的事情: TabOne
:
public class TabOne extends Fragment {
TimePicker timePickerOne;
EditText forename;
EditText surname;
EditText email;
EditText telephone;
Button store;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.tabfill, container, false);
timePickerOne = (TimePicker) rootView.findViewById(R.id.timePickers);
forename = (EditText) rootView.findViewById(R.id.forename);
surname = (EditText) rootView.findViewById(R.id.surname);
email = (EditText) rootView.findViewById(R.id.email);
telephone = (EditText) rootView.findViewById(R.id.telephone);
store = (Button) rootView.findViewById(R.id.store);
return rootView;
}
@Override
public void onStart() {
super.onStart();
}
public void populate(){
...
}
}
Class TabTwo
:
public class TabTwo extends Fragment {
TimePicker timePickerOne;
EditText forename;
EditText surname;
EditText email;
EditText telephone;
Button store;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.tabfill, container, false);
timePickerOne = (TimePicker) rootView.findViewById(R.id.timePickers);
forename = (EditText) rootView.findViewById(R.id.forename);
surname = (EditText) rootView.findViewById(R.id.surname);
email = (EditText) rootView.findViewById(R.id.email);
telephone = (EditText) rootView.findViewById(R.id.telephone);
store = (Button) rootView.findViewById(R.id.store);
return rootView;
}
@Override
public void onStart() {
super.onStart();
}
public void populate(){
...
}
}
正如你所看到的TabOne
和TabTwo
几乎是相同的东西,这就是为什么我试图重用从TabTemplate
类的一切。我该怎么做呢?
不是扩展'Fragment',扩展'TabTemplate'? – Ozgur
然后我该怎么办? –