第一步:在主界面写两个startactivity,一个用于接收第二个页面传递过来的数据;另一个用于发送用户输入的数值
public class MainActivity extends AppCompatActivity {
private Button button;
private TextView tvs1;
private TextView tvs2;
private TextView tv1;
private TextView tv2;
private EditText name;
private EditText month;
private EditText day;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv1 = (TextView) findViewById(R.id.tvs1);
tv2 = (TextView) findViewById(R.id.tvs2);
Intent intent1 = getIntent();//获取Intent对象
//取出对key中的值
String result01 = intent1.getStringExtra("result01");
String result02 = intent1.getStringExtra("result02");
//String day= intent1.getStringExtra("day");
tv1.setText(result01);
tv2.setText(result02);
Button btn1 = (Button) findViewById(R.id.btn1);
name = (EditText) findViewById(R.id.name);
month = (EditText) findViewById(R.id.month);
day = (EditText) findViewById(R.id.day);
Intent intent = new Intent(this,SecondActivity.class);
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
intent.putExtra("name",name.getText().toString().trim());
intent.putExtra("month",month.getText().toString().trim());
intent.putExtra("day",day.getText().toString().trim());
startActivity(intent);
finish();
}
});
}
}
第二步:写MainActivity的布局文件,这个可以根据个人的需求设计。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="姓名:"
android:textSize="30sp" />
<EditText
android:id="@+id/name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入姓名"
android:textSize="30sp"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="生日的月份:"
android:textSize="30sp"/>
<EditText
android:id="@+id/month"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入月份"
android:textSize="30sp"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="生日的几号:"
android:textSize="30sp"/>
<EditText
android:id="@+id/day"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入几号"
android:textSize="30sp"/>
</LinearLayout>
<Button
android:id="@+id/btn1"
style="@style/Widget.AppCompat.Button.Colored"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="查询"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/tvs1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="您的星座为:"
android:textSize="30sp"/>
<TextView
android:id="@+id/tvs2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20dp"/>
第三步:写第二个activity
public class SecondActivity<constellation> extends AppCompatActivity {
private TextView tv1;
private TextView tv2;
private TextView tv3;
private Button btn2;
private TextView result01;
private TextView result02;
private TextView constellation;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
tv1 = (TextView) findViewById(R.id.tv_1);
tv2 = (TextView) findViewById(R.id.tv_2);
tv3 = (TextView) findViewById(R.id.tv_3);
Intent intent1 = getIntent();//获取Intent对象
//取出对key中的值
String name = intent1.getStringExtra("name");
String month = intent1.getStringExtra("month");
String day= intent1.getStringExtra("day");
//计算星座
calculate();
String constellation=calculate();
tv1.setText(name);
tv2.setText(constellation);
Button btn2 = (Button) findViewById(R.id.btn2);
result01= (TextView) findViewById(R.id.tv_1);
result02 = (TextView) findViewById(R.id.tv_2);
Intent intent = new Intent(this,MainActivity.class);
btn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
intent.putExtra("result01",result01.getText().toString().trim());
intent.putExtra("result02",result02.getText().toString().trim());
startActivity(intent);
}
});
}
private String calculate() {
String month = getIntent().getStringExtra("month");
String day = getIntent().getStringExtra("day");
int m=Integer.parseInt(month);
int d=Integer.parseInt(day);
String name1="";
if(m>0 &&m<13 && d>0 && d<32) {
if((m ==3 && d>20) || (m ==4 && d<21)) {
name1 = "白羊座!";
}else if((m ==4 && d>20) || (m ==5 && d<21)){
name1 = "金牛座!";
}else if((m ==5 && d>20) || (m ==6 && d<22)){
name1="双子座!";
}else if((m ==6 && d>21) || (m ==7 && d<23)){
name1="巨蟹座!";
}else if((m ==7 && d>22) || (m ==8 && d<23)){
name1="狮子座!";
}else if((m ==8 && d>22) || (m ==9 && d<23)){
name1="处女座!";
}else if((m ==9 && d>22) || (m ==10 && d<23)){
name1="天枰座!";
}else if((m ==10 && d>22) || (m ==11 && d<22)){
name1="天蝎座!";
}else if((m ==11 && d>21) || (m ==12 && d<22)){
name1="射手座!";
}else if((m ==12 && d>21) || (m ==1 && d<20)){
name1="摩羯座!";
}else if((m ==1 && d>19) || (m ==2 && d<19)){
name1="水牛座!";
}else if((m ==2 && d>18) || (m ==3 && d<21)) {
name1 = "双鱼座!";
}
}else{
name1="您输入的生日格式不正确或者不是真实生日!";
}
return name1;
}
}
第四步:写第二个activity的布局文件
<LinearLayout
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="您好,"
android:textSize="20dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="您的星座为:"
android:textSize="20dp"/>
<TextView
android:id="@+id/tv_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20dp"/>
<TextView
android:id="@+id/tv_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20dp"/>
</LinearLayout>
<Button
android:id="@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/text"
android:layout_centerHorizontal="true"
android:layout_marginTop="24dp"
android:text="返回"/>
下面是运行效果:
?
?
?
|