2016-08-31 3 views
1

がコードであることである:フラグメントの内部テーブルをみましょう、エラーがnullのオブジェクト参照にここ

ここ
public class Persion1_fragment extends Fragment{ 
    Context mContext; 
    @Override 
    public void onAttach(Activity activity){ 
     super.onAttach(activity); 
     this.mContext = activity; 
    } 
    @Override 
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 

     TableFixHeaders tableFixHeaders = (TableFixHeaders)getActivity().findViewById(R.id.table); 
     String [][] str=new String[][] { 
       { 
         "Header 1", 
         "Header 2", 
         "Header 3", 
         "Header 4", 
         "Header 5", 
         "Header 6" }, 
     }; 

     MatrixTableAdapter<String> matrixTableAdapter = new MatrixTableAdapter<String>(this.mContext,str); 
     tableFixHeaders.setAdapter(matrixTableAdapter); 
     return inflater.inflate(R.layout.persion3, container, false); 
    } 
} 

ですエラー:

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.inqbarna.tablefixheaders.TableFixHeaders.setAdapter(com.inqbarna.tablefixheaders.adapters.TableAdapter)' on a null object reference 

と私はオープンソース版を使用していますTableFixHeadersの 本当に助けを楽しみにしています。

答えて

1
TableFixHeaders tableFixHeaders = (TableFixHeaders)getActivity().findViewById(R.id.table); 

この行には問題があり、実際にはtableFixHeadersはnullです。
最初にビューを展開し、膨張したビューから子ビューを見つける必要があります。

あなたのonCreateView()でこのコードを試してみてください。

View view = inflater.inflate(R.layout.persion3, container, false); 
TableFixHeaders tableFixHeaders = (TableFixHeaders)view.findViewById(R.id.table); 
String [][] str=new String[][] { 
     { 
       "Header 1", 
       "Header 2", 
       "Header 3", 
       "Header 4", 
       "Header 5", 
       "Header 6" }, 
}; 

MatrixTableAdapter<String> matrixTableAdapter = new MatrixTableAdapter<String>(this.mContext,str); 
tableFixHeaders.setAdapter(matrixTableAdapter); 
return view; 
+0

だけ明確化のために:あなたは間違っているビューからテーブルを選択したため、例外が発生しました。 'getActivity()。findViewById(R.id.table)'を実行すると、親アクティビティにテーブルを渡すように頼んだり(あなたのフラグメント内にないので)、 'null'を返しています。この時点から、あなたはアプリがクラッシュする理由を知っていると思います。 @Suhyeonさんは解決策を投稿しましたので、試してみてください。うまくいけば答えを受け入れることを忘れないでください。 –

+0

ありがとうございます@スヒョンン –

関連する問題