メソッドに多くのコードが含まれているフラグメントがある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();
//...
}
}