2014-11-03 4 views
0

런타임시 널 포인터 예외 오류가 발생합니다. 아래 코드에서 오류 행을 언급했습니다. 관련 코드를 게시했습니다. 해결할 수 없습니다. 누구든지 도와 줄 수 있습니다. 이걸 해결하는 방법을 알 잖아. 고마워.FragmentPage에서 널 포인터 예외

스택 트레이스 :

11-03 05:14:58.729: E/AndroidRuntime(18247): java.lang.NullPointerException 
11-03 05:14:58.729: E/AndroidRuntime(18247): at com.qrme.FragmentPage.highlightCell(FragmentPage.java:473) 
11-03 05:14:58.729: E/AndroidRuntime(18247): at com.qrme.FragmentPage.moveToNext(FragmentPage.java:455) 
11-03 05:14:58.729: E/AndroidRuntime(18247): at com.qrme.FragmentPage$10.onItemClick(FragmentPage.java:351) 
11-03 05:14:58.729: E/AndroidRuntime(18247): at android.widget.AdapterView.performItemClick(AdapterView.java:299) 
11-03 05:14:58.729: E/AndroidRuntime(18247): at android.widget.AbsListView.performItemClick(AbsListView.java:1113) 
11-03 05:14:58.729: E/AndroidRuntime(18247): at android.widget.AbsListView$PerformClick.run(AbsListView.java:2904) 
11-03 05:14:58.729: E/AndroidRuntime(18247): at android.widget.AbsListView$3.run(AbsListView.java:3638) 
11-03 05:14:58.729: E/AndroidRuntime(18247): at android.os.Handler.handleCallback(Handler.java:733) 
11-03 05:14:58.729: E/AndroidRuntime(18247): at android.os.Handler.dispatchMessage(Handler.java:95) 
11-03 05:14:58.729: E/AndroidRuntime(18247): at android.os.Looper.loop(Looper.java:136) 
11-03 05:14:58.729: E/AndroidRuntime(18247): at android.app.ActivityThread.main(ActivityThread.java:5017) 
11-03 05:14:58.729: E/AndroidRuntime(18247): at java.lang.reflect.Method.invokeNative(Native Method) 
11-03 05:14:58.729: E/AndroidRuntime(18247): at java.lang.reflect.Method.invoke(Method.java:515) 
11-03 05:14:58.729: E/AndroidRuntime(18247): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 
11-03 05:14:58.729: E/AndroidRuntime(18247): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 
11-03 05:14:58.729: E/AndroidRuntime(18247): at dalvik.system.NativeStart.main(Native Method) 

FragmentPage.java :

public class FragmentPage extends Fragment { 

    GridView gridTable; 
static LinearLayout ll; 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) { 

     rootView = inflater.inflate(R.layout.fragmentxml, container, false); 

     initialize(rootView); 
     clickEvents(); 

     return rootView; 

    } 


    @Override 
    public void onResume() { 
     // TODO Auto-generated method stub 
     super.onResume(); 

    tablelist = DatabaseQueryHelper.getInstance().getContentTable(pageId); 
     System.out.println(tablelist); 
     System.out.println(pageId); 
     if (tablelist != null && !tablelist.isEmpty()) { 
      CustomeTableAdapter tableAdapter = new CustomeTableAdapter(
        getActivity(), R.layout.frame_table, tablelist); 
      gridTable.setAdapter(tableAdapter); 

     } else { 
      ll.setVisibility(View.GONE); 
      if(tableVisible && !getactivitytable) 
      { 
       if (tablelist == null 
         || tablelist.isEmpty() 
         && sharedpreference.get_sharedvalue(
           QRMConstants.VERSION).equals("1.0")) { 
        showDialog(); 


       } 

      } 
     } 

    } 


public void initialize(View v) { 


     gridTable = (GridView) rootView.findViewById(R.id.gridViewTable); 
     ll.setVisibility(View.GONE); 

     gridTable.setDrawSelectorOnTop(true); 

    } 

public void moveToNext(int nextposition) { 

     highlightCell(nextposition); --->455 th line error 
     ispaused = false; 
     play(nextposition); 

    } 

gridTable.setOnItemClickListener(new OnItemClickListener() { 

      @Override 
      public void onItemClick(AdapterView<?> parent, View view, 
        final int position, long id) { 
       if (tablelist != null && !tablelist.isEmpty()) { 
        ll.setVisibility(View.VISIBLE); 
        player.reset(); 
        currentSelection = position; 
        moveToNext(currentSelection); --->351 th line error 
       } else { 
        ll.setVisibility(View.GONE); 
       } 
      } 
     }); 

public void highlightCell(int position) { 

     for (int i = 1; i < tablelist.size(); i++) { 

      gridTable.getChildAt(i - 1) 
        .setBackgroundResource(R.drawable.border); ---->473 rd line Error 

     } 

     gridTable.getChildAt(position).setBackgroundColor(
       getResources().getColor(R.color.dusty_grey)); 

    } 

fragmentxml.xml :

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/relativeLayout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <LinearLayout 
    android:id="@+id/linearlayoutControll" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_centerHorizontal="true" 
    android:background="@color/light_grey" 
    android:gravity="center" 
    android:orientation="horizontal" > 

    <ImageButton 
     android:id="@+id/imagebuttonLast" 
     android:layout_width="50dp" 
     android:layout_height="50dp" 
     android:background="@drawable/ic_action_previous" 
     android:scaleType="fitXY" /> 
     </LinearLayout> 
     <GridView 
     android:id="@+id/gridViewTable" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_above="@+id/linearlayoutControll" 
     android:layout_alignParentTop="true" 
     android:layout_margin="15dp" 
     android:listSelector="#00000000" 
     android:numColumns="2" 
     android:rotationY="180" > 
    </GridView> 

</RelativeLayout> 
+0

무엇입니까? ll.setVisibility (View.GONE); –

+0

public void initialize (v보기) { gridTable = (GridView) rootView.findViewById (R.id.gridViewTable); ll.setVisibility (View.GONE); gridTable.setDrawSelectorOnTop (true); }이 줄에 무엇을 넣을까요? –

+0

이제'static LinearLayout ll; '을 편집하고 추가했습니다. @ NaveenTamrakar –

답변

0

내가 생각 이 라인은

gridTable.getChildAt(i - 1) 

내가 tablelist에 포함 된 내용을 모르지만, 기본적으로 내가 당신을 화면에 그려지지하는있는 gridview에서 항목을하려고하면 그들은 null이 될 것이라고 생각 null를 돌려 때문이다.

+0

log.d 사용하기'Checkandroid.widget.GridView {b3f36478 VFED.VC. ...... ID 23,23-457,685 # 7f0a0022 app : id/gridViewTable} ' –

+0

Log.d를 사용하여 무엇을 기록 하시겠습니까? – TheRedFox

+0

Log.d ("Grid Highlight", "Check"+ gridTable)을 사용하고'D/Grid Highlight (29749) : Checkandroid.widget.GridView {b3f36478 VFED.VC. ...... ID 23,23-457,685 # 7f0a0022 app : id/gridViewTable} ' –