下面是我的片段的代码,我试图在视图中设置textView的文本,我的印象是,只要你首先膨胀视图,它不会返回null,因为它已经创建。根据片段生命周期。通货膨胀后空指针异常吗?
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View loginFragmentView = inflater.inflate(R.layout.login_layout, container, false);
TextView imei = (TextView) loginFragmentView.findViewById(R.id.txt_device_id);
imei.setText("IMEI: ");
return loginFragmentView;
}
这确实会导致应用程序崩溃与nullPointerException,没有人知道如何解决此问题。有没有一种方法我可以重写,只会被称为片段生命周期完成。
我也尝试将它放在onResume()中,因为它在生命周期结束时是正确的,但具有相同的结果。任何想法?
编辑
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Your device ID:"
android:id="@+id/txt_id_title"
android:layout_marginTop="15dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Fetching ID..."
android:id="@+id/txt_device_id"
android:layout_below="@+id/txt_id_title"
android:layout_centerHorizontal="true" />
</RelativeLayout>
错误日志
05-22 19:40:02.230 2799-2799/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: alertssystem.rrr.lsa13.rrr_alerts, PID: 2799
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.widget.TextView.toString()' on a null object reference
at alertssystem.rrr.lsa13.rrr_alerts.login_layout_fragment.onCreateView(login_layout_fragment.java:24)
at android.app.Fragment.performCreateView(Fragment.java:2053)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:894)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067)
at android.app.BackStackRecord.run(BackStackRecord.java:833)
at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1452)
at android.app.FragmentManagerImpl$1.run(FragmentManager.java:447)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
确保在'login_layout'布局中有一个ID为'txt_device_id'的'TextView'。 – Titus
你的堆栈跟踪?!你在哪里得到猿? –
错了,我重新编辑了。 –