프로그래밍 언어/Java 120

[Android java] addTextChangedListener onText/afterText 차이

XML 코드 java 코드 package com.example.forcode; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.text.Editable; import android.text.TextWatcher; import android.util.Log; public class MainActivity extends AppCompatActivity { private final String TAG = MainActivity.class.getSimpleName(); android.widget.EditText EditText_number; @Override protected void onCreate..

java 4강 this 란 무엇인가요?

예제 코드 class C{ int v = 10; void m() { int v = 20; System.out.println(v); System.out.println(this.v); } } public class HelloWorldApp { public static void main(String[] args) { C c1 = new C(); c1.m(); } } 예상되는 출력값은 무엇일까요? 출력 코드 이렇듯 위에 있는 부분은 지역변수 아래 부분은 전역변수를 의미하는 것을 알 수 있습니다. this 가 있다는 것은 인스턴스를 생성했을 때 그 인스턴스 자신을 의미하는 것입니다. 즉, this 가 붙게 되면 그 객체에 대한 전역의 의미를 갖게 되는 것입니다. 활용예제코드 class Calculator{ sta..

java.lang.NumberFormatException: empty String 에러 해결

에러발생 java.lang.NumberFormatException: empty String Double.parseDouble을 사용하는 과정에서 에러가 발생 xml 코드 java코드 public class MainActivity extends AppCompatActivity { public class InputFilterMinMax implements InputFilter{ private int min,max; public InputFilterMinMax(int min, int max){ this.min = min; this.max = max; } public InputFilterMinMax(String min, String max){ this.min = Integer.parseInt(min); this..

class is public, should be declared in a file named .java 에러 해결

문제 상황 필요한 코드를 복사 붙여넣기하였는데 실행 전에 이런 오류가 발생 class "" is public, should be declared in a file named .java 이 문제는 아마 Android 초보분들께 발생하는 것이라고 생각합니다. 복잡한 코드에 놀라지마시고 천천히 확인해보시면 쉽게 해결하실 겁니다. 문제의 코드 import androidx.appcompat.app.AppCompatActivity; public class InputFilterMinMax implements InputFilter{ private int min,max; public InputFilterMinMax(int min, int max){ this.min = min; this.max = max; } public..

Android java edittext null 값일 때 activity 진행 일시정지 하는 방법

문제상황 어플리케이션 개발 중 입력값이 없는 경우 alertdialog 를 띄우고 사용자가 값을 입력할 수 있게끔 해주려고 alertdialog 실행까지 구현하였으나 값이 입력되지 않아 intent 상에 오류가 발생해 어플이 죽는 에러가 발생하였음 1)if 문을 사용하는 방법 Intent intent = new Intent(MainActivity.this, Main2Activity.class); intent.putExtra("capital",capital); intent.putExtra("saving",saving); intent.putExtra("invest",invest); intent.putExtra("present_age",present_age); intent.putExtra("retire_age..

Android java 버튼 누르면 색 유지 하는 코드 설명(maintain color change state of button after click)

이런식으로 버튼이 클릭되면 색이 바뀌는 것을 구현하고 싶어서 찾아본 코드 입니다. 1)res 폴더에 새로 xml 하나 만들어주기 Resource Directory 로 들어가 color 라는 이름의 디렉토리를 만듭니다. Color Resource File 에서 button_background_color.xml 파일을 생성합니다. 원하는 색의 color 코드를 입력해줍니다. state_pressed -> 눌렸을 때 색상 selected -> 선택 되었을 때 색상 color -> 기본 상태 색상 2.activity의 xml button 에 res 사용하기 3.activity.java 에서 클릭 이벤트 설정해주기 버튼이 3개이므로 이런식으로 코드를 작성해주었습니다. ▲Button_0 클릭시 Button_15는 ..

Android TextInputEditText 숫자 콤마 입력하는 방법

이런식으로 edittext에 숫자 세자리 마다 ,를 입력해주는 코드를 알아보자. public class MainActivity extends AppCompatActivity { DecimalFormat myFormatter = new DecimalFormat("###,###"); String result1 = ""; TextInputEditText TextInputEditText_capital TextWatcher watcher1 = new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(Char..

Android cannot find symbol symbol variable에러 해결

잘되던 코드가 갑자기 에러가 발생하였다.. class id 를 못찾는다고 하는 것같아서 소스코드를 잘 봤는데,... 이미 있다.. 왜이러는거지? cannot find symbol symbol variable 구글링해보니 변수를 제대로 선언하지 않아 생기는 오류라고 한다. 찾아보면 다 제대로 선언되어있다.. 인식을 못하는 것같아 빨간 부분을 지우고 다시 자동완성을 통해 입력해보았다. 여전히 작동하지 않는다.. 원인 다른 노트북에서 작업하던 소스를 깃허브에서 받아서 ctrl+C ctrl+V 하는 과정에서 import com.example.myapplication.R; R과 관련된 코드가 import되어서 그런 것임. 해결방법 저 R관련된 부분을지우고 실행해봐도 어차피 안된다. 1)R관련 코드를 지운다 2)지..