2013-06-12 51 views
1

我知道人們已經問過類似的問題,但我仍然無法管理。我有一個片段,並在onCreateView()我有一個字符串,我想設置等於我的textView中的文本。然而,我無法讓它工作。有人可以給我一個如何寫它的代碼示例嗎?在onCreateView片段中的setText問題(...)

我已經例如試過這使得應用程序崩潰:

TextView text = (TextView) getActivity().findViewById(R.id.sektion_name_detailed_view); 
    text.setText("test"); 

堆棧跟蹤:

06-12 23:02:59.926: W/dalvikvm(2402): threadid=1: thread exiting with uncaught exception (group=0x40a13300) 
06-12 23:02:59.933: E/AndroidRuntime(2402): FATAL EXCEPTION: main 
06-12 23:02:59.933: E/AndroidRuntime(2402): java.lang.NullPointerException 
06-12 23:02:59.933: E/AndroidRuntime(2402):  at se.Appsolut.student.DetailedViewSektionerFragment.onCreateView(DetailedViewSektionerFragment.java:21) 
06-12 23:02:59.933: E/AndroidRuntime(2402):  at android.support.v4.app.Fragment.performCreateView(Fragment.java:1460) 
06-12 23:02:59.933: E/AndroidRuntime(2402):  at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:911) 
06-12 23:02:59.933: E/AndroidRuntime(2402):  at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1088) 
06-12 23:02:59.933: E/AndroidRuntime(2402):  at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682) 
06-12 23:02:59.933: E/AndroidRuntime(2402):  at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1444) 
06-12 23:02:59.933: E/AndroidRuntime(2402):  at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:429) 
06-12 23:02:59.933: E/AndroidRuntime(2402):  at android.os.Handler.handleCallback(Handler.java:615) 
06-12 23:02:59.933: E/AndroidRuntime(2402):  at android.os.Handler.dispatchMessage(Handler.java:92) 
06-12 23:02:59.933: E/AndroidRuntime(2402):  at android.os.Looper.loop(Looper.java:137) 
06-12 23:02:59.933: E/AndroidRuntime(2402):  at android.app.ActivityThread.main(ActivityThread.java:4745) 
06-12 23:02:59.933: E/AndroidRuntime(2402):  at java.lang.reflect.Method.invokeNative(Native Method) 
06-12 23:02:59.933: E/AndroidRuntime(2402):  at java.lang.reflect.Method.invoke(Method.java:511) 
06-12 23:02:59.933: E/AndroidRuntime(2402):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 
06-12 23:02:59.933: E/AndroidRuntime(2402):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
06-12 23:02:59.933: E/AndroidRuntime(2402):  at dalvik.system.NativeStart.main(Native Method) 
+1

你能後的崩潰日誌嗎? – BlackHatSamurai

+0

可能的重複:http://stackoverflow.com/questions/3275467/android-set-text-to-textview – BlackHatSamurai

+0

你是對的這是同一個問題,但「答案」不適合我。 –

回答

4

如果它是一個片段,那麼你將要訪問之前,首先膨脹的佈局上onCerateView要素。

LayoutInflater lf = getActivity().getLayoutInflater(); 
View view = lf.inflate(R.layout.fragment, container, false); //pass the correct layout name for the fragment 

TextView text = (TextView) view.findViewById(R.id.sektion_name_detailed_view); 
text.setText("test"); 

這應該解決您的問題。

+0

非常感謝!!!! :-) –

+0

不客氣。 – neo108

0

我想,也許你喜歡編輯

TextView text = (TextView) findViewById(R.id.sektion_name_detailed_view); 
text.setText("test"); 
+0

這不會編譯。你需要getView()。findViewById –