먼저 아래 게시글에 질문 올린것은 잘됩니다.
-----------------------------------------------------------------------------
long result_data;
String D1="10" , D2="20" , D3="30"
//변수선언
result_data = ((Long.parseLong(D1) - Long.parseLong(D2)) / Long.parseLong(D1))*100;
//D1,D2,D3은 현재 String값 D1=10, D2=20, D3=30 이 들어있습니다.
result_display.setText(Long.toString(result_data));
-----------------------------------------------------------------------------
위에것은 되는데..
왜 아래 소스는 안되는거죠?ㅜㅜ
D1 = D1_freauency_display.getText().toString();
D2 = D2_freauency_display.getText().toString();
D3 = D3_freauency_display.getText().toString();
//텍스트 뷰에서 읽어온 값이 String으로 변환해서 D1,D2,D3으로 저장되는거 아닌가요??ㅡㅡ
result_data = ((Long.parseLong(D1) - Long.parseLong(D2)) / Long.parseLong(D1))*100;
//여기D1, D2, D3 에 각 각 "10" "20" 30"을 넣어주면 잘됩니다.ㅡㅡ
result_display.setText(Long.toString(result_data));
trim 해보세요. "10" 이 경우 int, long등로 변경가능하지만 " 40 " 이런식으로 화이트스페이스 있으면 변경 못하고 Exception 내보냅니다.
혹시나해서 글을 남겨 봅니다.
getText().toString(); 을onCreate()가 아닌 다른 메소드에서 getText().toString()을 해보심이..
값 얻어 오기전에 System.out~~ 등의 방법으로..
D1_freauency_display.getText().toString(); 의 값이 정확히 무엇인지 확인해 보심이..
디버깅 찍어보세요 -_-;; 저장되는지 안되는지 확인해보시고 안되면 그때 원인 찾으시면 될것이고...!!
뭐 형변환이라던지 리소스 업다던지 셋할때 문제라던지 나오겠지요!!