MainActivity.java
package cn.bzu.example.caiquanyouxi;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.RadioGroup;
public class MainActivity extends Activity {
private Button clickButton;
private RadioGroup sexGroup;
private RadioButton shitou;
private RadioButton jiandao;
private RadioButton bu;
String chu;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initComponnents();
clickButton.setOnClickListener(new ClickHandler());
sexGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
// TODO Auto-generated method stub
if (checkedId == shitou.getId()) {
chu = "石头";
}
else if (checkedId == jiandao.getId()) {
chu = "剪刀";
} else if (checkedId == bu.getId()) {
chu = "布";
}
}
});
}
private void initComponnents() {
sexGroup = (RadioGroup) findViewById(R.id.RadioGroup01);
clickButton = (Button) this.findViewById(R.id.Button);
shitou = (RadioButton) findViewById(R.id.shitou);
jiandao = (RadioButton) findViewById(R.id.jiandao);
bu = (RadioButton) findViewById(R.id.bu);
}
private class ClickHandler implements OnClickListener {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setClass(MainActivity.this, showActivity.class);
intent.putExtra("chu", chu);
System.out.println(chu);
startActivity(intent);
finish();
}
}
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
ShowActivity.java
package cn.bzu.example.caiquanyouxi;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.widget.TextView;
public class showActivity extends Activity {
private TextView op1;
private TextView op2;
private TextView result;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
initComponnents();
// 电脑随机产生0.1.2并赋值为a
String[] readomWord = { "0", "1", "2" };
int readomWordIndex = (int) (Math.random() * 3);
String a = readomWord[readomWordIndex];
System.out.println(a);
// 显示电脑出的
if (a.equals("0")) {
op1.setText("石头");
}
if (a.equals("1")) {
op1.setText("剪刀");
}
if (a.equals("2")) {
op1.setText("布");
}
Intent intent=new Intent();
intent=this.getIntent();
String n=intent.getStringExtra("chu");
System.out.println(n);
//显示玩家出的拳:
if (n.equals("石头")) {
op2.setText("石头");
}
if (n.equals("剪刀")) {
op2.setText("剪刀");
}
if (n.equals("布")) {
op2.setText("布");
}
//判断输赢
if(a.equals("0")&&n.equals("剪刀")){result.setText("电脑获胜!");}
else if(a.equals("1")&&n.equals("布")){result.setText("电脑获胜!");}
else if(a.equals("2")&&n.equals("石头")){result.setText("电脑获胜!");}
else if(a.equals("1")&&n.equals("石头")){result.setText("玩家获胜!");}
else if(a.equals("0")&&n.equals("布")){result.setText("玩家获胜!");}
else if(a.equals("2")&&n.equals("剪刀")){result.setText("玩家获胜!");}
else {result.setText("平局");}
}
private void initComponnents() {
op1 = (TextView) findViewById(R.id.op1);
op2 = (TextView) findViewById(R.id.op2);
result = (TextView) findViewById(R.id.result);
}
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
在本次项目中也采用了单选按钮,实现RadioGroup和RadioButton布局
布局:
activity_main
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
<RadioGroup
android:id="@+id/RadioGroup01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView1"
android:layout_below="@+id/textView1"
android:layout_marginTop="16dp"
android:orientation="horizontal" >
<RadioButton
android:id="@+id/shitou"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/RadioGroup01"
android:layout_below="@+id/textView1"
android:layout_gravity="center_horizontal"
android:layout_marginTop="16dp"
android:text="@string/shitou" />
<RadioButton
android:id="@+id/bu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="16dp"
android:text="@string/bu" />
<RadioButton
android:id="@+id/jiandao"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/bu"
android:layout_alignBottom="@+id/bu"
android:layout_gravity="center_horizontal"
android:layout_toRightOf="@+id/textView1"
android:text="@string/jiandao" />
</RadioGroup>
<Button
android:id="@+id/Button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/RadioGroup01"
android:layout_below="@+id/RadioGroup01"
android:layout_marginLeft="16dp"
android:text="@string/chuquan" />
</RelativeLayout>
activity_main2
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" tools:context=".MainActivity" > <LinearLayout android:id="@+id/linearLayout1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <TextView android:id="@+id/computer" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/computer" /> <TextView android:id="@+id/op1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" /> <TextView android:id="@+id/vs" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="VS" /> <TextView android:id="@+id/wanjia" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/wanjia" /> <TextView android:id="@+id/op2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" /> </LinearLayout> <TextView android:id="@+id/result" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/linearLayout1" android:layout_marginTop="16dp" android:layout_weight="1" android:text="输赢" /> </RelativeLayout>
strings:
<?xml version="1.0" encoding="utf-8"?> <resources>
<string name="app_name">猜拳小游戏 </string> <string name="action_settings">Settings</string> <string name="hello_world">请您选择要出的拳</string> <string name="shitou">石头</string> <string name="jiandao">剪刀</string> <string name="bu">布</string> <string name="chuquan">出拳</string> <string name="app_name2">显示结果</string> <string name="computer">电脑的出拳:</string> <string name="wanjia">玩家的出拳:</string>
</resources>
结果:
结论:在做这个布局的时候,出现了在跳转页面后只显示电脑: vs玩家: ,输赢。。。我改了好多遍,都没改过来,最后经过和同学的讨论研究终于做出了这个项目。。