Android 膨胀类-CircularImageView时出错
我正在尝试在我的android应用程序中使用project 我的list_style.xml如下所示Android 膨胀类-CircularImageView时出错,android,android-studio,libs,Android,Android Studio,Libs,我正在尝试在我的android应用程序中使用project 我的list_style.xml如下所示 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/libs/circularimageview" android:layout_width="fill_parent" android:layout_hei
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/libs/circularimageview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:orientation="vertical" >
<com.mikhaellopez.circularimageview.CircularImageView
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/kamilwirtek"
android:layout_gravity="left"
android:layout_margin="10dp"
android:id="@+id/avatar"
app:border="true"
app:border_color="#000000"
app:border_width="4dp"
app:shadow="true" />
<TextView
android:id="@+id/full_name"
android:layout_gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="25dp"
android:textColor="#111111"
android:text="TextView" />
</LinearLayout>
我在处理碎片。当我添加到onCreateView时:
CircularImageView circularImageView = (CircularImageView)getActivity().findViewById(R.id.avatar);
circularImageView.setBorderColor(getResources().getColor(R.color.GrayLight));
circularImageView.setBorderWidth(10);
circularImageView.addShadow();
我收到另一个代码错误:
09-12 21:41:21.359 8783-8783/info.androidhive.materialdesign E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{info.androidhive.materialdesign/info.androidhive.materialdesign.activity.MainActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
at android.app.ActivityThread.access$600(ActivityThread.java:130)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at info.androidhive.materialdesign.activity.HomeFragment.onCreateView(HomeFragment.java:42)
at android.support.v4.app.Fragment.performCreateView(Fragment.java:1789)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:955)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1138)
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:740)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1501)
at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:551)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1163)
at android.app.Activity.performStart(Activity.java:5018)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2032)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
at android.app.ActivityThread.access$600(ActivityThread.java:130)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
怎么了?如何修复此问题?您正在尝试从活动的视图而不是片段的视图获取视图 而不是:
CircularImageView circularImageView = (CircularImageView)getActivity().findViewById(R.id.avatar);
你应该这样做
CircularImageView circularImageView = (CircularImageView)view.findViewById(R.id.avatar);
在fragment的Hm上,我使用了rootView而不是View,否则我会得到错误:(58,41)错误:非静态方法findViewById(int)不能从静态上下文中引用,而rootView我会得到错误:这是我的fragment@alexstyle的全部代码,在您刚才共享的代码中,首先使用rootview,然后填充它。将CircularImageView移动到RootView填充之后,如下所示?现在我得到了@AlexStyl
CircularImageView circularImageView = (CircularImageView)view.findViewById(R.id.avatar);