【发布时间】:2014-02-18 20:05:51
【问题描述】:
这更多是一个设计问题,以及如何设计应用程序。我一直在玩片段,但对我来说没有意义的一件事是这样的:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
page = getArguments().getInt("someInt", 2);
Button btnOne = (Button) getView().findViewById(R.id.one);
btnOne.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
String currentText = getScreen().getText().toString();
currentText += "1";
getScreen().setText(currentText);
}
});
}
// Inflate the view for the fragment based on layout XML
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.standard_calculator, container, false);
return view;
}
/** Return the screen TextView object for manipulation
* @return screen
*/
public TextView getScreen() {
return screen;
}
屏幕标题是班级中的私有变量,这不是整个班级,而只是我需要帮助解决我的问题的部分。将有至少 15 个左右的按钮来操作屏幕,将它们全部放在 onCreate 方法中感觉不是一个好习惯,我想知道将它们放在另一个类中是否会更好让片段中的方法更具体到片段的生命周期,尽管可以说按钮由片段使用,因此应该是类的一部分。也许需要一个“初始化”方法。
我希望有人能够指导我一些设计模式或应用程序设计的逻辑思维方式,这是完全不同的。
非常感谢。
【问题讨论】:
-
我也意识到这会崩溃,因为我在创建视图之前引用它......但请坚持原点。