【发布时间】:2016-03-22 20:01:34
【问题描述】:
我有抽屉布局,顶部有一个 ImageView 在 DrawerFragment 类里面, 当我尝试 setImageDrawble 表单 onCreate 它工作 但是当我尝试在 onCreat 之外执行此方法时,我有( NUllPointException ) 这是 onCreate 方法
RecyclerView recyclerView ;
MyAdapter adapter;
View view ;
ImageView drawerPic ;
private ActionBarDrawerToggle actionBarDrawerToggle ;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
view = inflater.inflate(R.layout.drawer_fragmnet_layout,null,false);
recyclerView = (RecyclerView)view.findViewById(R.id.recyclerView);
adapter = new MyAdapter(getActivity(),setItems());
recyclerView.setAdapter(adapter);
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
drawerPic = (ImageView)view.findViewById(R.id.imageView);
drawerPic.setImageResource(R.drawable.green);
return view ;
}
当我尝试做的时候
drawerPic.setImageResource(R.drawable.green);
onCreat 之外(来自另一个方法) 或者当我从此类声明对象时,然后在其中执行另一种方法 setImageResource
,,我有这个错误
03-22 21:01:30.525 29538-29538/maysara.maysara_.com.materialdesignpro E/AndroidRuntime: 致命异常: main java.lang.RuntimeException:无法启动活动 ComponentInfo{maysara.maysara_.com.materialdesignpro/maysara.maysara_.com.materialdesignpro.MainActivity}:java.lang.NullPointerException 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2356) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2408) 在 android.app.ActivityThread.access$600(ActivityThread.java:167) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1378) 在 android.os.Handler.dispatchMessage(Handler.java:107) 在 android.os.Looper.loop(Looper.java:194) 在 android.app.ActivityThread.main(ActivityThread.java:5405) 在 java.lang.reflect.Method.invokeNative(Native Method) 在 java.lang.reflect.Method.invoke(Method.java:525) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:838) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605) 在 dalvik.system.NativeStart.main(本机方法) 引起:java.lang.NullPointerException 在 maysara.maysara_.com.materialdesignpro.DrawerFragment.setUp(DrawerFragment.java:55) 在 maysara.maysara_.com.materialdesignpro.MainActivity.onCreate(MainActivity.java:36) 在 android.app.Activity.performCreate(Activity.java:5122) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1151) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2320) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2408) 在 android.app.ActivityThread.access$600(ActivityThread.java:167) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1378) 在 android.os.Handler.dispatchMessage(Handler.java:107) 在 android.os.Looper.loop(Looper.java:194) 在 android.app.ActivityThread.main(ActivityThread.java:5405) 在 java.lang.reflect.Method.invokeNative(Native Method) 在 java.lang.reflect.Method.invoke(Method.java:525) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:838) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605) 在 dalvik.system.NativeStart.main(本机方法)
为什么会这样?
【问题讨论】:
标签: android