这是良好做法和组织的问题。
在JavaScript中,我常常将代码的一小部分组织成objects
,如下所示:
var init{
menu: function(){...},
navBar: function(){...},
connection: function(){...},
};
// And then call it like:
init.menu();
init.navBar();
[...]
我希望能够做到这一点,但是没有找到一个好办法。将其分组到静态类中会使访问Activity
变得困难。为此,实例化一个类对我来说似乎很重要。
这是我提出的,但我实际上并不喜欢它,因为我必须分配context
,并将其实例化为帮助类:
SwitchToHelper switchTo;
@Override
protected void onCreate(Bundle savedInstanceState) {
[...]
// Instantiate fragment helper
switchTo = new SwitchToHelper(this);
switchTo.Feed();
}
class SwitchToHelper{
FragmentActivity context;
// This is a default viewId to be used
int defaultViewId;
SwitchToHelper(FragmentActivity context) {
this.context = context;
defaultViewId = R.id.fragment;
}
void Feed(){
// Creates and switches fragment
Fragment feedFragment = FeedFragment.newInstance();
makeTransaction(feedFragment).commit();
}
}
你知道这方面的良好做法吗?
由于
答案 0 :(得分:0)
这是我能提出的最接近的解决方案。
public class FragmentActivity {
int v;
class SwitchToHelperImpl {
void Feed() {
doSomethingFragmentActivity(FragmentActivity.this);
}
void doSomethingFragmentActivity(FragmentActivity frag) {
System.out.println(frag.v);
}
}
SwitchToHelperImpl SwitchToHelper = new SwitchToHelperImpl();
public FragmentActivity(int v) {
this.v = v;
}
public void onCreate() {
SwitchToHelper.Feed();
}
}