2012-06-15 2 views
2

Я в настоящее время возится с DialogFragment, чтобы научиться его использовать. Я предположил, что по сравнению с onCreateView(), onCreate() может это сделать:как реализовать фрагмент в android

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    testTextView.setText("SUCCESS!"); //ERROR HERE 
} 

Но я не прав. Не знаю, почему он не работает. Ошибка уходит, когда я комментирую testTextView.setText("Success!"); Ошибка NullPointerException, а затем она просто выводит строку 39, где находится строка нарушения кода. Любые разъяснения очень ценятся.

ответ

0

где вы initalzed testTextView. ? вы должны сделать это .........

, а также в соответствии с фрагментом жизненного цикла

onAttach(Activity)-->onCreate(Bundle) -->onCreateView(LayoutInflater, ViewGroup, Bundle)->onActivityCreated(Bundle)-->onStart() 

поэтому вы должны справиться с этой работой либо в onCreateView или после этого ...

http://android-developers.blogspot.in/2012/05/using-dialogfragments.html

1

Попробуйте это:

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
{ 
    if (container == null) { 
     return null; 
    } 
    return (LinearLayout)inflater.inflate(R.layout.your_fragmentlayout_file, container, false); 
} 



@Override 
public void onActivityCreated(Bundle savedInstance) 
{ 
    super.onActivityCreated(savedInstance); 
    TextView testTextView = (TextView)getActivity().findViewById(R.id.your_textview_id); 
    testTextView.setText("SUCCESS!"); 
}