Facebook のようなスライド メニューを使用して Android アプリを作成していますが、ViewGroup
正しく動作しません。4.1 を実行している携帯電話では正常に動作しますが、2.3 を実行しているエミュレーターでコードを実行しようとすると、mContent = (FrameLayout) findViewById(R.id.animation_layout_content);
この行は常にnull
;を返します。ただし、mSidebar
ビューを正しく返します。誰かがこの問題を解決してくれれば、本当にありがたいです。ありがとうございました!
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_singlepane_empty);
if (getIntent().hasExtra(Intent.EXTRA_TITLE)) {
setTitle(getIntent().getStringExtra(Intent.EXTRA_TITLE));
}
final String customTitle = getIntent().getStringExtra(Intent.EXTRA_TITLE);
setTitle(customTitle != null ? customTitle : getTitle());
if (savedInstanceState == null) {
mFragment = onCreatePane();
mFragment.setArguments(intentToFragmentArguments(getIntent()));
getSupportFragmentManager().beginTransaction()
.add(R.id.animation_layout_content, mFragment, "single_pane")
.commit();
} else {
mFragment = getSupportFragmentManager().findFragmentByTag("single_pane");
}
mLayout = (AnimationLayout) findViewById(R.id.animation_layout);
mLayout.setListener(this);
}
layout.activity_singlepane_empty
<com.oldroid.apps.planit.util.AnimationLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/animation_layout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<include layout="@layout/menu_sidebar" />
<FrameLayout
android:id="@id/animation_layout_content"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
AnimationLayout
@Override
public void onFinishInflate() {
super.onFinishInflate();
mContent = (FrameLayout) findViewById(R.id.animation_layout_content);
mSidebar = findViewById(R.id.animation_layout_sidebar);
if (mSidebar == null) {
throw new NullPointerException("no view id = animation_sidebar");
}
if (mContent == null) {
throw new NullPointerException("no view id = animation_content");
}
mOpenListener = new OpenListener(mSidebar, mContent);
mCloseListener = new CloseListener(mSidebar, mContent);
}