メソッドに多くのコードが含まれているフラグメントがあるonCreateView
ため、このコードを外部スレッドに配置することをお勧めします。問題は、このスレッドでレイアウトをロードする必要があることですがonStart
、Activity のメソッドでこの Fragment の新しいオブジェクトを作成すると、次の行で NullPointerException になります。
LayoutInflater inflater = getActivity().getLayoutInflater();
getActivity が返されると思いますがnull
、なぜですか? メソッドでオブジェクトを作成しますonStart
。アクティビティが返されないはずnull
ですか、それとも私の思索の何が問題なのですか? 私のコード:
MyFragment f;
public class Tablet extends FragmentActivity
{
// onCreate(), Variables and so on...
@Override
protected void onStart()
{
super.onStart();
f = new MyFragment();
}
}
public class StundenAnsicht extends Fragment implements Runnable
{
public MyFragment()
{
Thread t = new Thread(this);
t.start();
}
@Override
public void run()
{
LayoutInflater inflater = getActivity().getLayoutInflater();
//...
}
}