كيفية تجنب nullpointerException عند استخدام طرق عرض مخصصة أو السطح السوفي

StackOverflow https://stackoverflow.com/questions/985851

سؤال

أنا خلقت مخصص SurfaceView اتصل CaptureView وحاول إضافته إلى main.xml ملف:

<dev.recorder.client.CaptureView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/capturePreview"/>

يبدو أن التطبيق يعمل بشكل جيد ولكن إذا قمت بالتبديل من main.xml علامة التبويب تخطيط في الكسوف النص NullPointerException يظهر بدلا من معاينة التخطيط.

في النشاط الذي قمت بتدوينه عناصر التحكم بالطريقة التالية:

setContentView(R.layout.main);

    bindControls();

private void bindControls()
{
    videoPreview = (CaptureView)findViewById(R.id.capturePreview);

    txtstatus = (TextView)findViewById(R.id.txtMode);
    txtTimer = (TextView)findViewById(R.id.txtTime);
}

هل يعرف أحد كيف يمكن حل هذه المشكلة؟

هل كانت مفيدة؟

المحلول

تأكد من أنك تقوم بتهيئة العرض في OnFinishinflate وليس في المنشئ. قد يقوم رمز معاينة التخطيط بتهيئة عنصر تحكم الخاص بك من خلال مسار رمز مختلف.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top