我正在使用android兼容性库(v4修订版8)。在自定义DialogFragment中,未调用重写的onViewCreated方法。
public class MyDialogFragment extends DialogFragment{
private String mMessage;
public MyDialogFragment(String message) {
mMessage = message;
}
@Override
public Dialog onCreateDialog( Bundle savedInstanceState){
super.onCreateDialog(savedInstanceState);
Log.d("TAG", "onCreateDialog");
setRetainInstance(true);
//....do something
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
Log.d("TAG", "onViewCreated");
//...do something
}
}
onViewCreated没有得到记录。
最佳答案
好吧,onViewCreated状态的文档“在onCreateView(LayoutInflater,ViewGroup,Bundle)返回后立即调用”。
DialogFragment使用onCreateDialog而不是onCreateView,因此不会触发onViewCreated。 (将是我的工作理论,我没有深入研究android来确认)。