🚫 Error Message
java.lang.NullPointerException: Attempt to invoke virtual method 'android.text.Editable android.widget.EditText.getText()' on a null object reference
자꾸 null 오류가 난다. 🤣
💡 방법1. onCreateView에다가 구현하기
onCreate vs onCreateView
onCreate에 썼을 때 nullPointer 오류가 났던게 onCreateView에다가 해주니까 오류가 안난다.
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_packing, container, false);
txt_CustNm = (TextView) v.findViewById(R.id.txt_CustNm);
txt_delvCustNm = (TextView) v.findViewById(R.id.txt_delvCustNm);
// 뒤로가기 버튼
buttonBack = (ImageButton) v.findViewById(R.id.btn_back);
buttonBack.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
eventListener.onBack();
}
});
// 포장하기 버튼
btnPacking = (Button) v.findViewById(R.id.btnPacking);
btnPacking.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
eventListener.onPackingProcess();
}
});
lv = (ListView) v.findViewById(R.id.prdtList);
editTextSearch = (EditText) v.findViewById(R.id.editTextSearch);
// editTextSearch.requestFocus();
sAdaptor = eventListener.Search();
if (sAdaptor != null) {
lv.setAdapter(sAdaptor);
}
else {
lv.setAdapter(null);
showToast("조회할 자료가 없습니다.");
}
// editText null check
editTextSearch = (EditText) v.findViewById(R.id.editTextSearch);
// if( editTextSearch.equals(""))
// return v;
// editTextSearch.setOnKeyListener(new View.OnKeyListener(){
// @Override
// public boolean onKey(View v, int keyCode, KeyEvent event) {
// String sOtKey = editTextSearch.getText().toString();
// if ((event.getAction() == KeyEvent.ACTION_UP) && (keyCode == KeyEvent.KEYCODE_ENTER)) {
// SimpleAdapter sAdaptor = eventListener.Search(sOtKey);
// if (sAdaptor != null) {
// lv.setAdapter(sAdaptor);
// editTextSearch.setText("");
// } else {
// lv.setAdapter(null);
// showToast("조회할 자료가 없습니다.");
// }
//
// //}
// return true;
// }
// return false;
// }
//
// });
lv.setOnItemClickListener(new ListView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View arg1, int position, long id) {
HashMap<String, String> select = (HashMap<String, String>) adapterView.getAdapter().getItem(position);
String arg = select.get("TAG");
idx[0] = arg.toString();
// 셀클릭하면 그정보 불러오기
eventListener.goSerialRegDialog(idx[0]);
}
});
return v;
}
근데 일부 editSearch event Listener는 createView 에 써줬더니 또 다시 null 오류가 난다.
(주석친 부분이 오류나는 부분..)
💡 방법2. null check 해주는 코드 추가
if( editTextSearch.equals(""))
return v;
내 코드에서는 여전히 오류가 나는데, 아직 원인 못 찾는중 🤣
'Android' 카테고리의 다른 글
[Android] Fragment 간 데이터 전달하기 (0) | 2023.03.17 |
---|---|
[Android] 무선디버깅 연결 (0) | 2023.03.14 |
[Android] 실시간 처리 관련 (0) | 2023.03.13 |
[Android] 안드 오류 모음 (0) | 2023.03.07 |
[Android] Spinner 에 불러온 ID로 로그인 기능 구현 (0) | 2023.01.13 |
댓글