api 활용 장소 정보 DB저장 insert문 실행 중에 이런 오류가 뜹니다 ㅠㅠ
dbhelper
void addLocation(String PLACENAME, String CLASSIFY, Double LAT, Double RONG, String ADD)
{
SQLiteDatabase db = this.getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put(COLUMN_PN, PLACENAME);
cv.put(COLUMN_CL, CLASSIFY);
cv.put(COLUMN_LAT, LAT);
cv.put(COLUMN_LONG, RONG);
cv.put(COLUMN_ADD, ADD);
long result = db.insert(TABLE_NAME, null, cv);
if (result == -1)
{
Toast.makeText(context, "Failed", Toast.LENGTH_SHORT).show();
}
else
{
Toast.makeText(context, "데이터 추가 성공", Toast.LENGTH_SHORT).show();
}
}
mainactivity
addmarker.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialogView=(LinearLayout) View.inflate(MainActivity.this, R.layout.dialog, null);
AlertDialog.Builder dlg = new AlertDialog.Builder(MainActivity.this);
dlg.setTitle("마커 추가");
dlg.setView(dialogView);
dlg.setPositiveButton("확인", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
DataBaseHelper dbh = new DataBaseHelper(MainActivity.this);
dbh.addLocation(PLACENAME.getText().toString(), COLUMN_CL.getText().toString(),COLUMN_LAT,COLUMN_LONG,COLUMN_ADD.getText().toString());
dialog.dismiss();
}
});
dlg.show();
}
});
에러코드
java.lang.NullPointerException: Attempt to invoke virtual method 'android.text.Editable android.widget.EditText.getText()' on a null object reference
at com.example.ex.MainActivity$3$1.onClick(MainActivity.java:204)
at androidx.appcompat.app.AlertController$ButtonHandler.handleMessage(AlertController.java:167)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7839)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
onCreate
PLACENAME = findViewById(R.id.PLACENAME);
COLUMN_CL = findViewById(R.id.COLUMN_CL);
COLUMN_ADD = findViewById(R.id.COLUMN_ADD);