2021/01/14 - [안드로이드] - [안드로이드] 차트(Chart) - 데이터를 그래픽으로 표현 Bar, Pie, Radar
2021/01/15 - [안드로이드] - [안드로이드] TextToSpeech 텍스트(Text)를 음성으로 전환시켜주는 방법
2021/01/16 - [안드로이드] - [안드로이드]RecognizerIntent 음성을 텍스트(Text)로 전환시켜주는 방법
2021/01/17 - [안드로이드] - [안드로이드] 액티비티(Activity) 활동주기(Life Cycle)
버튼에 onClick 이벤트를 사용하려면 onClickListener를 통해 하나의 버튼에 하나의 onClick를 사용했습니다.
예)
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
만약에 버튼이 하나 이상이라면 코드 길이도 길어지며 복잡해질 수가 있습니다.
이 때 중복된 부분을 줄이고 하나의 onClick 메소드에서 사용하는 방법을 알아 보겠습니다.
1. 메인화면 구현(activity_main.xml)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<Button
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="버튼1"
android:layout_marginTop="50dp"
android:layout_centerHorizontal="true"/>
<Button
android:id="@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="버튼2"
android:layout_below="@+id/btn1"
android:layout_centerHorizontal="true"/>
<Button
android:id="@+id/btn3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="버튼3"
android:layout_below="@+id/btn2"
android:layout_centerHorizontal="true"/>
</RelativeLayout>
2. 메인코드 구현(MainActivity.java)
View.OnClickListener을 상속받아 onClick를 재정의 해주면 switch문을 통해 각 버튼 별로 이벤트를 적용할 수 있습니다.
반복은 없애고, 코드는 깔끔해질 수 있습니다.
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn1 = findViewById(R.id.btn1);
Button btn2 = findViewById(R.id.btn2);
Button btn3 = findViewById(R.id.btn3);
btn1.setOnClickListener(this);
btn2.setOnClickListener(this);
btn3.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch(v.getId()){
case R.id.btn1:
Toast.makeText(this, "버튼1 클릭했습니다.", Toast.LENGTH_SHORT).show();
break;
case R.id.btn2:
Toast.makeText(this, "버튼2 클릭했습니다.", Toast.LENGTH_SHORT).show();
break;
case R.id.btn3:
Toast.makeText(this, "버튼3 클릭했습니다.", Toast.LENGTH_SHORT).show();
break;
}
}
}
3. 실행화면
2021/01/14 - [안드로이드] - [안드로이드] 차트(Chart) - 데이터를 그래픽으로 표현 Bar, Pie, Radar
2021/01/15 - [안드로이드] - [안드로이드] TextToSpeech 텍스트(Text)를 음성으로 전환시켜주는 방법
2021/01/16 - [안드로이드] - [안드로이드]RecognizerIntent 음성을 텍스트(Text)로 전환시켜주는 방법
2021/01/17 - [안드로이드] - [안드로이드] 액티비티(Activity) 활동주기(Life Cycle)
[안드로이드] DrawerLayout Navigation 메뉴(Menu) 추가하기 (0) | 2021.01.19 |
---|---|
[안드로이드] DrawerLayout Navigaion 쉽게 만들어보기 (0) | 2021.01.19 |
[안드로이드] 액티비티(Activity) 활동주기(Life Cycle) (0) | 2021.01.17 |
[안드로이드]RecognizerIntent 음성을 텍스트(Text)로 전환시켜주는 방법 (0) | 2021.01.16 |
[안드로이드] TextToSpeech 텍스트(Text)를 음성으로 전환시켜주는 방법 (0) | 2021.01.15 |
댓글 영역