私はライブラリにあるスーパークラスを持っています。このライブラリは、いくつかの基本的なレイアウトコンポーネントやその他の要素を初期化します。私の問題は、レイアウトをロードするのに1.x秒かかり、子レイアウトを設定する前にデフォルトレイアウトをしばらく表示することです。レイアウトの読み込みが遅い
これは私のスーパークラスのメソッドです:
public void InitializeWindow(Activity act, int layoutResourceId, String windowTitle,
Object menuAdapter, int slideMenuMode) {
super.setContentView(layoutResourceId);
super.setBehindContentView(R.layout.menu_frame);
this.menuAdapter = menuAdapter;
this.slideMenuMode = slideMenuMode;
setWindowTitle(windowTitle);
initializeSlidingMenu();
}
これは、このよう呼び出されます。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.InitializeWindow(this, R.layout.activity_home, "\t\tHome",
new MenuAdapter(this, R.menu.slide_menu), SlidingMenu.TOUCHMODE_FULLSCREEN);
}
アプリケーションは魔法のように動作しますが、私は1の周りに言ったように、それは、とります。子クラスから渡されたレイアウトをロードするx秒。なぜこれが起こるのですか?リクエストにより、
、これは私のinitializeSlideMenu()
方法であって、
public void initializeSlidingMenu() {
this.setSlidingActionBarEnabled(true);
getSlidingMenu().setBehindOffsetRes(R.dimen.actionbar_home_width);
getSlidingMenu().setShadowWidthRes(R.dimen.shadow_width);
getSlidingMenu().setShadowDrawable(R.drawable.shadow);
getSlidingMenu().setTouchModeAbove(slideMenuMode);
getSlidingMenu().setBehindScrollScale(0.25f);
ListView v = new ListView(this);
v.setBackgroundColor(Color.parseColor("#000000"));
v.setAdapter((ListAdapter) menuAdapter);
getSlidingMenu().setMenu(v);
}
私はあなたに 'InitializeWindow'を_constructor_と呼ぶことに少し心配しています。あなたのスーパークラスが 'onCreate()'のすべてのものをしないのはなぜですか? - 'initializeSlidingMenu()'では何が起こっていますか? –
もちろん、私の朝は早すぎます。 'initializeSlidingMenu()'では、スライディングメニューを初期化します。数秒で私の編集を見てください。 –
@ user370305ベースクラスにはレイアウトがありません。デフォルトのアンドロイドレイアウトが、アクションバーのアプリケーション名のように白いレイアウトで表示されます。 –