3つのタブでメインレイアウトを設定するFragmentActivityがあります。各タブには独自のフラグメントがあり、メインレイアウトに独自のレイアウトを膨らませます。
たとえば、次の3つのフラグメントのいずれかです。
public class Fragment1 extends Fragment {
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
if (container == null) {
return null;
}
return inflater.inflate(R.layout.fragment1, container, false);
}
}
すべてのフラグメントを追加してタブで接続すると、すべてが機能します。tab1をクリックすると、Fragment1のレイアウトが表示され、Tab2をクリックすると、Fragment2のレイアウトが表示されます。
問題は、その膨張したレイアウトで何かを変更したい場合(たとえば、fragment1レイアウトでsetTextをtextViewに実行する場合)、その行でNullPointerExceptionを受け取り、アプリケーションが停止することです。
これは機能しません:
TextView test = (TextView) findViewById(R.id.fragmentOneText1);
test.setText("Test text!");
データを膨らませたレイアウトに設定するにはどうすればよいですか?