나는 큰 괴상한 목장 가이드의 Android 프로그래밍 중 2 부에서 작업 중입니다. null 포인터 예외를 반환하는 UUID
UUID crimeID = (UUID)getArguments().getSerializable(EXTRA_CRIME_ID);
왜 EXTRA_CRIME_ID가 null 값을 반환 : 나는 시작에 충돌 응용 프로그램을 실행하고 고양이를 기록하려고 어떤 이유로 널 포인터 예외가 줄에 던져졌다라고?
가 여기에 예외가 발생 된 내 범죄 목록 조각입니다 :
package com.bignerdranch.android.criminalintent;
import java.util.UUID;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.text.Editable;
import android.text.TextWatcher;
import android.text.format.DateFormat;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.EditText;
public class CrimeFragment extends Fragment {
public static final String EXTRA_CRIME_ID =
"com.bignerdranch.android.criminalintent.crime_id";
private Crime mCrime;
private EditText mTitleField;
private Button mDateButton;
private CheckBox mSolvedCheckBox;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
**UUID crimeID = (UUID)getArguments().getSerializable(EXTRA_CRIME_ID);**
mCrime = CrimeLab.get(getActivity()).getCrime(crimeID);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState){
View v =inflater.inflate(R.layout.fragment_crime, parent, false);
mTitleField = (EditText)v.findViewById(R.id.crime_title);
mTitleField.setText(mCrime.getTitle());
mTitleField.addTextChangedListener(new TextWatcher() {
public void onTextChanged(CharSequence c, int start, int before, int count){
mCrime.setTitle(c.toString());
}
public void beforeTextChanged(CharSequence c, int start, int count, int after){
//left blank
}
public void afterTextChanged(Editable c){
//this one to
}
});
mDateButton = (Button)v.findViewById(R.id.crime_date);
mDateButton.setText(DateFormat.format("hh:mm:ss", mCrime.getDate()));
mDateButton.setEnabled(false);
mSolvedCheckBox = (CheckBox)v.findViewById(R.id.crime_solved);
mSolvedCheckBox.setChecked(mCrime.isSolved());
mSolvedCheckBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
//set the crimes solved property
mCrime.setSolved(isChecked);
}
});
return v;
}
}
당신의'getArguments()'메소드는 널 (null)을 리턴 할 가능성이 높습니다. – Kon
아마도이 하나가 도움이 될 수 있습니다. http://stackoverflow.com/questions/16561817/android-fragment-getarguments-returns-null –