Android Developer's Guideで書かれているように、私はをプログラムで作成し、fragment_container
のFragment
として頻繁に置き換えます。 NullPointerException
が発生しました。私はnullポインタでメソッドを呼び出そうとしていますが、この問題をどのように修正するのか分かりません。何か案は?なぜ私のFrameLayout fragment_containerはnullですか?
問題のあるコード
public void onClick(View v) {
// Check that the activity is using the layout version with
// the fragment_container FrameLayout
if (findViewById(R.id.fragment_container) != null) {
// Create a new Fragment to be placed in the activity layout
BlankFragment firstFragment = new BlankFragment();
// Add the fragment to the 'fragment_container' FrameLayout
getSupportFragmentManager().beginTransaction()
.add(R.id.fragment_container, firstFragment.newInstance("","")).commit();
blankFragment.setThumbnail(thumbnails.get(finalI).getDrawable());
}
else {
FrameLayout frameLayout = (FrameLayout) findViewById(R.id.fragment_container);
BlankFragment blankFragment = new BlankFragment();
getSupportFragmentManager().beginTransaction().add(R.id.fragment_container, blankFragment).commit();
blankFragment.setThumbnail(thumbnails.get(finalI).getDrawable());
}
BlankFragment.newInstance()質問
でpublic static BlankFragment newInstance(String param1, String param2) {
BlankFragment fragment = new BlankFragment();
Bundle args = new Bundle();
args.putString(ARG_PARAM1, param1);
args.putString(ARG_PARAM2, param2);
fragment.setArguments(args);
return fragment;
}
でframeLayout <FrameLayout
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@+id/horizontal_scroll"></FrameLayout>
<FrameLayout
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@+id/horizontal_scroll"></FrameLayout>