Android Studio를 통해 버튼을 2개 생성하고, 하나의 버튼(btn1)을 누르면 '학번'과 '이름'이 번갈아 가면서 나오고, 또 다른 버튼(btn2)을 누르면 3개의 그림이 변경되어 출력되는 과제
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
int i = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView textview = (TextView) findViewById(R.id.textView1);
ImageView imgview = (ImageView) findViewById(R.id.imageView);
Button button1 = (Button) findViewById(R.id.button);
Button button2 = (Button) findViewById(R.id.button2);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
i = i % 2;
if(i == 0){
textview.setText("학번");
}
if(i==1) {
textview.setText("이름");
}
i++;
}
});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int index = i % 3;
if( index ==0) {
imgview.setImageResource(R.drawable.beef);
}
if(index == 1) {
imgview.setImageResource(R.drawable.pizza);
}
if(index ==2) {
imgview.setImageResource(R.drawable.chicken);
}
i++;
}
});
}
}
-이미지 및 텍스트가 바뀌게 하고 싶을 때
int i = 0;
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int index = i % 3;
if( index ==0) {
imgview.setImageResource(R.drawable.beef);
}
if(index == 1) {
imgview.setImageResource(R.drawable.pizza);
}
if(index ==2) {
imgview.setImageResource(R.drawable.chicken);
}
i++;
만약 i = 1-i; if (i==0)~, if(i ==1)로 식을 세운다면, 2번을 클릭한 뒤에는 클릭이 작동하지 않기 때문이다.
(i값이 0미만이 될 때의 상황을 정의해주지 않았기 때문)
'IMAGE'버튼을 클릭하면 그림이 바뀐다.