Android(Java) - TextView - setText / getText

반응형

 

TextView

  • 화면에 보여질 텍스트를 넣을 수 있는 위젯
  • setText : 텍스트뷰의 텍스트 설정
  • getText : 텍스트뷰의 값 호출
  • 텍스트뷰의 값 설정과 호출은 오직 문자열 데이터타입으로만 제어 가능

setText()

  • 문자열로만 지정 가능
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    // 텍스트뷰 객체 생성
    TextView txtTest= findViewById(R.id.TextView);
    // 문자형 변수 값 설정
    String a = "Hello!!!";
    // 텍스트뷰 문구 설정 (문자열로 설정)
    txtTest.setText(a); // Hello!!!
}

 

  • 실행 화면

 

  • 문자열이 아닌 정수형으로 문구 지정 > 에러 출력
    • 텍스트뷰는 문자형이 아닌 데이터를 설정시 앱이 꺼지므로 주의
  • 정수형의 값을 텍스트뷰에 지정 할 때의 팁 ! + "" 로 문자열로 설정
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    // 텍스트뷰 객체 생성
    TextView txtTest= findViewById(R.id.TextView);
    // 정수형 변수 값 설정
    int a = 1;
    // 텍스트뷰 문구 설정 (정수형으로 설정)
    txtTest.setText(a); // Error
    // 문자형 데이터로 변환 혹은 정수형 + 공백을 주어 데이터 출력
    txtTest.setText(a + ""); // 1
}

getText()

레이아웃 UI 설계

  • getText()를 통하여 가져올 문구 "Hello World!"
  • setText()를 통하여 txtSet의 텍스트를 "Hello World!" 로 대체

 

  • 소스 코드
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    // 텍스트뷰 객체 생성
    TextView txtGet = findViewById(R.id.TextView);
    TextView txtSet = findViewById(R.id.textView2);
    // 문자형 변수 선언
    String a;
    // getText() : 텍스트뷰의 값 호출
    a = txtGet.getText().toString();
    // setText() : 텍스트뷰의 값 선언
    txtSet.setText(a);
}

 

  • 실행 화면

 

반응형