이번 시간에는 DataBinding를 통해 레이아웃 컴포넌트에 쉽게 접근하는 방법에 대하여 알아보겠습니다.
build.gradle(Module:프로젝트명:app)
android 괄호 안에 아래 코드를 넣어주시면 됩니다.
dataBinding{
enabled = true
}
- 설명 -
1. 첫 번째 버튼은 숫자를 +1씩 크게 합니다.
2. 두 번째 버튼은 숫자를 -1씩 작게 합니다.
3. 텍스트뷰는 숫자를 표시합니다.
4. 최상위 레이아웃의 태그는 layout으로 해야 합니다.
5. layout으로 해야 메인코드에서 ActivityMainBinding 타입 객체를 만들 수 있습니다.
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<Button
android:id="@+id/plus_btn"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:text="더하기"
android:textSize="25sp"/>
<TextView
android:id="@+id/score_text"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="8"
android:gravity="center"
android:text="0"
android:textSize="150sp"/>
<Button
android:id="@+id/minus_btn"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:text="더하기"
android:textSize="25sp"/>
</LinearLayout>
</layout>
- 설명 -
1. dataBinding설정과 layout태그가 돼있어야 ActivityMainBinding을 사용할 수 있습니다.
2. binding = DataBindingUtil.setContentView(this, R.layout.activity_main);
binding를 초기화합니다. 메인화면으로 설정합니다.
3. 이제 binding변수를 통해 레이아웃에 있는 컴포넌트에 직접 접근이 가능해집니다.
4. 컴포넌트마다 findViewById()를 통해 아이디를 찾아서 변수를 만들 필요가 없습니다.
public class MainActivity extends AppCompatActivity {
ActivityMainBinding binding;
int score = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//초기화
binding = DataBindingUtil.setContentView(this, R.layout.activity_main);
//마이너스 버튼
binding.minusBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
score--;
binding.scoreText.setText(String.valueOf(score));
}
});
//플러스 버튼
binding.plusBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
score++;
binding.scoreText.setText(String.valueOf(score));
}
});
}//onCreate
}//MainActivity
2022.05.07 - [안드로이드] - [안드로이드] HTTP 통신 Volley 사용법 part1 - 간단한 요청 및 응답
2022.04.19 - [안드로이드] - [안드로이드] 커스텀 달력 만드는 방법 part1 화면 구성
2022.04.02 - [안드로이드] - [안드로이드] 같은 그림 찾기 게임 만드는 방법 part1 - 화면 구성
[안드로이드] LiveData 만드는 방법 part1 - 실시간 데이터 변경 (0) | 2022.05.12 |
---|---|
[안드로이드] ViewModel - 화면 회전 시 데이터 초기화 막는 방법 (0) | 2022.05.11 |
[안드로이드] HTTP 통신 Volley 사용법 part3 - Image 요청 및 응답 (0) | 2022.05.09 |
[안드로이드] HTTP 통신 Volley 사용법 part2 - JSON 요청 및 파싱 (0) | 2022.05.08 |
[안드로이드] HTTP 통신 Volley 사용법 part1 - 간단한 요청 및 응답 (0) | 2022.05.07 |
댓글 영역