순서대로 secondActivity, MainActivity, SecondXml, mainXml
package com.example.forseveralactivity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RatingBar;
import android.widget.TextView;
import org.w3c.dom.Text;
public class SecondActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second);
setTitle("투표 결과");
//메인이 넘긴 인텐트를 getIntent()로 받고, 이를 따로 저장
Intent intent=getIntent();
int[] voteResult=intent.getIntArrayExtra("VoteCount");
String[] imageName=intent.getStringArrayExtra("ImageName");
TextView tv[]=new TextView[imageName.length];
RatingBar rbar[]=new RatingBar[imageName.length];
Integer tvId[]={R.id.tv1, R.id.tv2, R.id.tv3,
R.id.tv4, R.id.tv5, R.id.tv6,R.id.tv7, R.id.tv8, R.id.tv9};
Integer rbarId[]= {R.id.rbar1, R.id.rbar2, R.id.rbar3, R.id.rbar4,
R.id.rbar5, R.id.rbar6, R.id.rbar7, R.id.rbar8, R.id.rbar9};
//위젯 ID배열에 위젯을 대입
for(int i=0; i<voteResult.length; i++) {
tv[i]=(TextView)findViewById(tvId[i]);
rbar[i]=(RatingBar)findViewById(rbarId[i]);
}
//각 텍스트뷰와 레이팅바에, 넘겨받은 그림파일 이름이나 투표수를 적용
for(int i=0; i<voteResult.length; i++){
tv[i].setText(imageName[i]);
rbar[i].setRating((float) voteResult[i]);
}
Button btnReturn=(Button)findViewById(R.id.btnReturn);
btnReturn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v){
finish();
}
});
}
}
///////////////////
package com.example.forseveralactivity;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setTitle("명화 선호도 투표");
final int voteCount[]=new int[9];
for(int i=0; i<9; i++)
voteCount[i]=0;
ImageView image[]=new ImageView[9];
Integer imageId[]={R.id.iv1, R.id.iv2, R.id.iv3,
R.id.iv4, R.id.iv5, R.id.iv6,
R.id.iv7, R.id.iv8, R.id.iv9};
final String imgName[] = {"그림 1", "그림 2", "그림 3",
"그림 4", "그림 5", "그림 6","그림 7", "그림 8", "그림 9"};
for(int i=0; i<imageId.length; i++) {
final int index;
index=i;
image[index]=(ImageView)findViewById(imageId[index]);
//이미지 뷰를 클릭할 때마다, 해당 이미지 순번의
//투표수 배열값이 하나씩 증가한다.
//이미지 뷰를 클릭할 때마다 해당 이미지 순번의 이미지 이름
//과 현재 투표수값을 토스트 메세지로 보여준다
image[index].setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
voteCount[index]++;
Toast.makeText(getApplicationContext(),
imgName[index] + ":총 "+
voteCount[index]+ " 표",
Toast.LENGTH_SHORT).show();
}
});
}
Button btnFinish=(Button)findViewById(R.id.btnResult);
btnFinish.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent=new Intent(getApplicationContext(),
SecondActivity.class);
//각각 정수형, 문자열 배열을 넘긴다
intent.putExtra("VoteCount", voteCount);
intent.putExtra("ImageName", imgName);
startActivity(intent);
}
});
}
}
///////////////////////////
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:gravity="center_vertical"
android:stretchColumns="0"
android:layout_height="match_parent"
android:layout_width="match_parent">
<TableRow>
<TextView
android:id="@+id/tv1"
android:layout_gravity="center_vertical"
android:text="그림 1"
android:textSize="15dp"/>
<RatingBar
android:id="@+id/rbar1"
style="?android:attr/ratingBarStyleIndicator"
android:layout_gravity="right" >
</RatingBar>
</TableRow>
<TableRow>
<TextView
android:id="@+id/tv2"
android:layout_gravity="center_vertical"
android:text="그림 2"
android:textSize="15dp"/>
<RatingBar
android:id="@+id/rbar2"
style="?android:attr/ratingBarStyleIndicator"
android:layout_gravity="right" >
</RatingBar>
</TableRow>
<TableRow>
<TextView
android:id="@+id/tv3"
android:layout_gravity="center_vertical"
android:text="그림 3"
android:textSize="15dp"/>
<RatingBar
android:id="@+id/rbar3"
style="?android:attr/ratingBarStyleIndicator"
android:layout_gravity="right" >
</RatingBar>
</TableRow>
<TableRow>
<TextView
android:id="@+id/tv4"
android:layout_gravity="center_vertical"
android:text="그림 4"
android:textSize="15dp"/>
<RatingBar
android:id="@+id/rbar4"
style="?android:attr/ratingBarStyleIndicator"
android:layout_gravity="right" >
</RatingBar>
</TableRow>
<TableRow>
<TextView
android:id="@+id/tv5"
android:layout_gravity="center_vertical"
android:text="그림 5"
android:textSize="15dp"/>
<RatingBar
android:id="@+id/rbar5"
style="?android:attr/ratingBarStyleIndicator"
android:layout_gravity="right" >
</RatingBar>
</TableRow>
<TableRow>
<TextView
android:id="@+id/tv6"
android:layout_gravity="center_vertical"
android:text="그림 6"
android:textSize="15dp"/>
<RatingBar
android:id="@+id/rbar6"
style="?android:attr/ratingBarStyleIndicator"
android:layout_gravity="right" >
</RatingBar>
</TableRow>
<TableRow>
<TextView
android:id="@+id/tv7"
android:layout_gravity="center_vertical"
android:text="그림 7"
android:textSize="15dp"/>
<RatingBar
android:id="@+id/rbar7"
style="?android:attr/ratingBarStyleIndicator"
android:layout_gravity="right" >
</RatingBar>
</TableRow>
<TableRow>
<TextView
android:id="@+id/tv8"
android:layout_gravity="center_vertical"
android:text="그림 8"
android:textSize="15dp"/>
<RatingBar
android:id="@+id/rbar8"
style="?android:attr/ratingBarStyleIndicator"
android:layout_gravity="right" >
</RatingBar>
</TableRow>
<TableRow>
<TextView
android:id="@+id/tv9"
android:layout_gravity="center_vertical"
android:text="그림 9"
android:textSize="15dp"/>
<RatingBar
android:id="@+id/rbar9"
style="?android:attr/ratingBarStyleIndicator"
android:layout_gravity="right" >
</RatingBar>
</TableRow>
<TableRow>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="돌아가기"
android:layout_span="2"
android:id="@+id/btnReturn"/>
</TableRow>
</TableLayout>
///////////////////////////////
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="3" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/iv1"
android:layout_margin="5dp"
android:layout_weight="1"
android:src="@drawable/chinhan"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/iv2"
android:layout_margin="5dp"
android:layout_weight="1"
android:src="@drawable/chiwawa"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/iv3"
android:layout_margin="5dp"
android:layout_weight="1"
android:src="@drawable/chunjae"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="3" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/iv4"
android:layout_margin="5dp"
android:layout_weight="1"
android:src="@drawable/chutul"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/iv5"
android:layout_margin="5dp"
android:layout_weight="1"
android:src="@drawable/hanbun"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/iv6"
android:layout_margin="5dp"
android:layout_weight="1"
android:src="@drawable/hyumhan"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="3" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/iv7"
android:layout_margin="5dp"
android:layout_weight="1"
android:src="@drawable/insung"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/iv8"
android:layout_margin="5dp"
android:layout_weight="1"
android:src="@drawable/jinaga"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/iv9"
android:layout_margin="5dp"
android:layout_weight="1"
android:src="@drawable/tenmonan"/>
</LinearLayout>
<Button
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:text="투표 종료"
android:id="@+id/btnResult"/>
</LinearLayout>
/////////////////////////////
second계만 바꿈
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:gravity="center_vertical"
android:stretchColumns="0"
android:layout_height="match_parent"
android:layout_width="match_parent">
<TableRow>
<TextView
android:id="@+id/tvTop"
android:layout_gravity="center"
android:layout_span="2"
android:text="## 우승 그림: "
android:textSize="15dp" />
</TableRow>
<TableRow>
<ImageView
android:id="@+id/ivTop"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_margin="10dp"
android:layout_span="2"
android:text="## 우승 그림: "
android:src="@drawable/tenmonan" />
</TableRow>
<TableRow>
<TextView
android:id="@+id/tv1"
android:layout_gravity="center_vertical"
android:text="그림 1"
android:textSize="15dp"/>
<RatingBar
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/rbar1"
style="?android:attr/ratingBarStyleSmall"
android:layout_gravity="right" >
</RatingBar>
</TableRow>
<TableRow>
<TextView
android:id="@+id/tv2"
android:layout_gravity="center_vertical"
android:text="그림 2"
android:textSize="15dp"/>
<RatingBar
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/rbar2"
style="?android:attr/ratingBarStyleSmall"
android:layout_gravity="right" >
</RatingBar>
</TableRow>
<TableRow>
<TextView
android:id="@+id/tv3"
android:layout_gravity="center_vertical"
android:text="그림 3"
android:textSize="15dp"/>
<RatingBar
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/rbar3"
style="?android:attr/ratingBarStyleSmall"
android:layout_gravity="right" >
</RatingBar>
</TableRow>
<TableRow>
<TextView
android:id="@+id/tv4"
android:layout_gravity="center_vertical"
android:text="그림 4"
android:textSize="15dp"/>
<RatingBar
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/rbar4"
style="?android:attr/ratingBarStyleSmall"
android:layout_gravity="right" >
</RatingBar>
</TableRow>
<TableRow>
<TextView
android:id="@+id/tv5"
android:layout_gravity="center_vertical"
android:text="그림 5"
android:textSize="15dp"/>
<RatingBar
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/rbar5"
style="?android:attr/ratingBarStyleSmall"
android:layout_gravity="right" >
</RatingBar>
</TableRow>
<TableRow>
<TextView
android:id="@+id/tv6"
android:layout_gravity="center_vertical"
android:text="그림 6"
android:textSize="15dp"/>
<RatingBar
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/rbar6"
style="?android:attr/ratingBarStyleSmall"
android:layout_gravity="right" >
</RatingBar>
</TableRow>
<TableRow>
<TextView
android:id="@+id/tv7"
android:layout_gravity="center_vertical"
android:text="그림 7"
android:textSize="15dp"/>
<RatingBar
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/rbar7"
style="?android:attr/ratingBarStyleSmall"
android:layout_gravity="right" >
</RatingBar>
</TableRow>
<TableRow>
<TextView
android:id="@+id/tv8"
android:layout_gravity="center_vertical"
android:text="그림 8"
android:textSize="15dp"/>
<RatingBar
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/rbar8"
style="?android:attr/ratingBarStyleSmall"
android:layout_gravity="right" >
</RatingBar>
</TableRow>
<TableRow>
<TextView
android:id="@+id/tv9"
android:layout_gravity="center_vertical"
android:text="그림 9"
android:textSize="15dp"/>
<RatingBar
android:id="@+id/rbar9"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
style="?android:attr/ratingBarStyleSmall"
android:layout_gravity="right" >
</RatingBar>
</TableRow>
<TableRow>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="돌아가기"
android:layout_span="2"
android:id="@+id/btnReturn"/>
</TableRow>
</TableLayout>
////////////////////////////
package com.example.forseveralactivity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.RatingBar;
import android.widget.TextView;
import org.w3c.dom.Text;
public class SecondActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second);
setTitle("투표 결과");
//메인이 넘긴 인텐트를 getIntent()로 받고, 이를 따로 저장
Intent intent=getIntent();
int[] voteResult=intent.getIntArrayExtra("VoteCount");
String[] imageName=intent.getStringArrayExtra("ImageName");
TextView tv[]=new TextView[imageName.length];
RatingBar rbar[]=new RatingBar[imageName.length];
Integer tvId[]={R.id.tv1, R.id.tv2, R.id.tv3,
R.id.tv4, R.id.tv5, R.id.tv6,R.id.tv7, R.id.tv8, R.id.tv9};
Integer rbarId[]= {R.id.rbar1, R.id.rbar2, R.id.rbar3, R.id.rbar4,
R.id.rbar5, R.id.rbar6, R.id.rbar7, R.id.rbar8, R.id.rbar9};
//이미지 파일 id를 저장할 배열
Integer imageFileID[] = {R.drawable.chinhan, R.drawable.chiwawa,
R.drawable.chunjae, R.drawable.chutul, R.drawable.hanbun,
R.drawable.hyumhan, R.drawable.insung, R.drawable.jinaga,
R.drawable.tenmonan};
//1등 그림 이름과 그림 파일을 보여줄 것들
TextView tvTop=(TextView) findViewById(R.id.tvTop);
ImageView ivTop=(ImageView) findViewById(R.id.ivTop);
int maxEntry=0;
for(int i=1; i<voteResult.length; i++) {
if(voteResult[maxEntry] < voteResult[i])
maxEntry=i;
}
tvTop.setText(imageName[maxEntry]);
ivTop.setImageResource(imageFileID[maxEntry]);
//위젯 ID배열에 위젯을 대입
for(int i=0; i<voteResult.length; i++) {
tv[i]=(TextView)findViewById(tvId[i]);
rbar[i]=(RatingBar)findViewById(rbarId[i]);
}
//각 텍스트뷰와 레이팅바에, 넘겨받은 그림파일 이름이나 투표수를 적용
for(int i=0; i<voteResult.length; i++){
tv[i].setText(imageName[i]);
rbar[i].setRating((float) voteResult[i]);
}
Button btnReturn=(Button)findViewById(R.id.btnReturn);
btnReturn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v){
finish();
}
});
}
}