2015-01-04 2 views
0

나는 내 사용자 지정 gridview 표시하려는 조각이 있습니다. gridview 잘 작동하지만 내가 조각에 힘을 가까이 넣어. 이 내 코드입니다 :오류 custome 조각에있는 gridview

조각 :의 GridView이 fragment_home에 존재하기 때문에

01-04 08:30:22.899: E/AndroidRuntime(2379): FATAL EXCEPTION: main 
01-04 08:30:22.899: E/AndroidRuntime(2379): java.lang.RuntimeException: Unable to start activity ComponentInfo{info.androidhive.tashrifat/com.plusnet.tashrifat.MainActivity}: java.lang.NullPointerException 
01-04 08:30:22.899: E/AndroidRuntime(2379):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211) 
01-04 08:30:22.899: E/AndroidRuntime(2379):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261) 
01-04 08:30:22.899: E/AndroidRuntime(2379):  at android.app.ActivityThread.access$600(ActivityThread.java:141) 
01-04 08:30:22.899: E/AndroidRuntime(2379):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256) 
01-04 08:30:22.899: E/AndroidRuntime(2379):  at android.os.Handler.dispatchMessage(Handler.java:99) 
01-04 08:30:22.899: E/AndroidRuntime(2379):  at android.os.Looper.loop(Looper.java:137) 
01-04 08:30:22.899: E/AndroidRuntime(2379):  at android.app.ActivityThread.main(ActivityThread.java:5103) 
01-04 08:30:22.899: E/AndroidRuntime(2379):  at java.lang.reflect.Method.invokeNative(Native Method) 
01-04 08:30:22.899: E/AndroidRuntime(2379):  at java.lang.reflect.Method.invoke(Method.java:525) 
01-04 08:30:22.899: E/AndroidRuntime(2379):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 
01-04 08:30:22.899: E/AndroidRuntime(2379):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
01-04 08:30:22.899: E/AndroidRuntime(2379):  at dalvik.system.NativeStart.main(Native Method) 
01-04 08:30:22.899: E/AndroidRuntime(2379): Caused by: java.lang.NullPointerException 
01-04 08:30:22.899: E/AndroidRuntime(2379):  at com.plusnet.tashrifat.HomeFragment.onCreateView(HomeFragment.java:28) 
01-04 08:30:22.899: E/AndroidRuntime(2379):  at android.app.Fragment.performCreateView(Fragment.java:1695) 
01-04 08:30:22.899: E/AndroidRuntime(2379):  at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:885) 
01-04 08:30:22.899: E/AndroidRuntime(2379):  at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1057) 
01-04 08:30:22.899: E/AndroidRuntime(2379):  at android.app.BackStackRecord.run(BackStackRecord.java:682) 
01-04 08:30:22.899: E/AndroidRuntime(2379):  at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1435) 
01-04 08:30:22.899: E/AndroidRuntime(2379):  at android.app.Activity.performStart(Activity.java:5142) 
01-04 08:30:22.899: E/AndroidRuntime(2379):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2184) 
01-04 08:30:22.899: E/AndroidRuntime(2379):  ... 11 more 
+0

CustomGrid 생성자 내부에서 어떤 일이 벌어지고 있습니까? 기본 UI 스레드에서 벗어나십시오. gridview1 Gridview가있는 –

+0

레이아웃? –

+0

@ R.layout.fragment_home의 ρяσѕρєяK – amir

답변

1

사용 rootView 대신 getActvity()의 GridView를 초기화 :이 근처의 힘이 내 ADB 로그

public HomeFragment() { 
} 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 
    View rootView = inflater.inflate(R.layout.fragment_home, container, 
      false); 
    int[] icons = { R.drawable.image1, R.drawable.image2, R.drawable.image5 }; 
    String[] names = { "asd ", "Asdasd", "asd " }; 

    CustomGrid grid = new CustomGrid(getActivity().getApplicationContext(), names, icons); 
    GridView g = (GridView) getActivity().findViewById(R.id.gridView1); 
    g.setAdapter(grid); 
    return rootView; 
} 

입니다 현재 조각 레이아웃 인 레이아웃 :

GridView g = (GridView) rootView.findViewById(R.id.gridView1);