A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© doyxy 中级黑马   /  2014-3-5 15:45  /  845 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

想想自己学学基础的android知识,做了个简单的石头剪刀布的小程序,点击了总是得不到结果,网上搜索对比别人的代码,发现是变量设置有问题,但是想不通为什么,请各位指点,谢谢

下面是部分代码,全部代码我放在后面吧,怕影响阅读
  1. class ButtonOnClickListener implements OnClickListener {
  2. //int choice1 = rga.getCheckedRadioButtonId(); 设置在这里时得不到结果
  3. //int choice2 = rgb.getCheckedRadioButtonId();
  4.                 @Override
  5.                
  6.                 public void onClick(View v) {
  7.                         int choice1 = rga.getCheckedRadioButtonId(); //设置在这里时运行正常
  8. int choice2 = rgb.getCheckedRadioButtonId();
  9.                        
  10.                         if (choice1 != -1 && choice2 != -1) {
  11.                                 if (choice1 == astone.getId() && choice2 == bknife.getId()
  12.                                         || choice1 == aknife.getId() && choice2 == bcloth.getId()
  13.                                         || choice1 == acloth.getId() && choice2 == bstone.getId()) {
  14.                                         MyToast.show(v.getContext(), "A win!");
  15.                                 } else if (choice1 == astone.getId() && choice2 == bcloth.getId()
  16.                                                 || choice1 == acloth.getId() && choice2 == bknife.getId()
  17.                                                 || choice1 == aknife.getId() && choice2 == bstone.getId()) {
  18.                                         MyToast.show(v.getContext(), "B win!");
  19.                                 } else {
  20.                                         MyToast.show(v.getContext(), "Draw");
  21.                                 }
  22.                         }
  23.                 }
  24.         }
复制代码



评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

1 个回复

倒序浏览
本帖最后由 doyxy 于 2014-3-6 14:13 编辑

下面是全部代码
MainActivity.java
  1. package fri.day.radiogame;

  2. import android.app.Activity;
  3. import android.content.Context;
  4. import android.os.Bundle;
  5. import android.view.Menu;
  6. import android.view.View;
  7. import android.view.View.OnClickListener;
  8. import android.widget.Button;
  9. import android.widget.RadioButton;
  10. import android.widget.RadioGroup;
  11. import android.widget.Toast;

  12. class MyToast {
  13.         private static Toast mToast;

  14.         public static void show(Context context, CharSequence text) {
  15.                 if (mToast == null) {
  16.                         mToast = Toast.makeText(context, text, Toast.LENGTH_LONG);
  17.                 } else {
  18.                         mToast.setText(text);
  19.                 }
  20.                 mToast.show();
  21.         }
  22. }

  23. public class MainActivity extends Activity {

  24.         RadioGroup rga = null;
  25.         RadioButton astone = null;
  26.         RadioButton aknife = null;
  27.         RadioButton acloth = null;

  28.         RadioGroup rgb = null;
  29.         RadioButton bstone = null;
  30.         RadioButton bknife = null;
  31.         RadioButton bcloth = null;

  32.         Button button = null;

  33.         @Override
  34.         protected void onCreate(Bundle savedInstanceState) {
  35.                 super.onCreate(savedInstanceState);
  36.                 setContentView(R.layout.activity_main);

  37.                 rga = (RadioGroup) findViewById(R.id.groupA);
  38.                 astone = (RadioButton) findViewById(R.id.groupAStone);
  39.                 aknife = (RadioButton) findViewById(R.id.groupAKnife);
  40.                 acloth = (RadioButton) findViewById(R.id.groupACloth);

  41.                 rgb = (RadioGroup) findViewById(R.id.groupB);
  42.                 bstone = (RadioButton) findViewById(R.id.groupBStone);
  43.                 bknife = (RadioButton) findViewById(R.id.groupBKnife);
  44.                 bcloth = (RadioButton) findViewById(R.id.groupBCloth);

  45.                 button = (Button) findViewById(R.id.button1);

  46.                 ButtonOnClickListener listener = new ButtonOnClickListener();
  47.                 button.setOnClickListener(listener);
  48.         }

  49.         class ButtonOnClickListener implements OnClickListener {
  50.                 int choice1 = rga.getCheckedRadioButtonId();
  51.                 int choice2 = rgb.getCheckedRadioButtonId();
  52.                 @Override
  53.                
  54.                 public void onClick(View v) {
  55.                         
  56.                         
  57.                         if (choice1 != -1 && choice2 != -1) {
  58.                                 if (choice1 == astone.getId() && choice2 == bknife.getId()
  59.                                         || choice1 == aknife.getId() && choice2 == bcloth.getId()
  60.                                         || choice1 == acloth.getId() && choice2 == bstone.getId()) {
  61.                                         MyToast.show(v.getContext(), "A win!");
  62.                                 } else if (choice1 == astone.getId() && choice2 == bcloth.getId()
  63.                                                 || choice1 == acloth.getId() && choice2 == bknife.getId()
  64.                                                 || choice1 == aknife.getId() && choice2 == bstone.getId()) {
  65.                                         MyToast.show(v.getContext(), "B win!");
  66.                                 } else {
  67.                                         MyToast.show(v.getContext(), "Draw");
  68.                                 }
  69.                         }
  70.                 }
  71.         }

  72.         @Override
  73.         public boolean onCreateOptionsMenu(Menu menu) {
  74.                 // Inflate the menu; this adds items to the action bar if it is present.
  75.                 getMenuInflater().inflate(R.menu.main, menu);
  76.                 return true;
  77.         }

  78. }
复制代码



下面是activity_main.xml
  1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2.     android:layout_width="fill_parent"
  3.     android:layout_height="fill_parent"
  4.     android:orientation="horizontal" >

  5.     <LinearLayout
  6.         android:layout_width="wrap_content"
  7.         android:layout_height="wrap_content"
  8.         android:orientation="vertical" >

  9.         <RadioGroup
  10.             android:id="@+id/groupA"
  11.             android:layout_width="wrap_content"
  12.             android:layout_height="wrap_content" >

  13.             <RadioButton
  14.                 android:id="@+id/groupAStone"
  15.                 android:layout_width="wrap_content"
  16.                 android:layout_height="wrap_content"
  17.                 android:text="石头" />

  18.             <RadioButton
  19.                 android:id="@+id/groupAKnife"
  20.                 android:layout_width="wrap_content"
  21.                 android:layout_height="wrap_content"
  22.                 android:text="剪刀" />

  23.             <RadioButton
  24.                 android:id="@+id/groupACloth"
  25.                 android:layout_width="wrap_content"
  26.                 android:layout_height="wrap_content"
  27.                 android:text="布" />
  28.         </RadioGroup>
  29.     </LinearLayout>

  30.     <LinearLayout
  31.         android:layout_width="wrap_content"
  32.         android:layout_height="wrap_content"
  33.         android:orientation="vertical" >

  34.         <RadioGroup
  35.             android:id="@+id/groupB"
  36.             android:layout_width="wrap_content"
  37.             android:layout_height="wrap_content" >

  38.             <RadioButton
  39.                 android:id="@+id/groupBStone"
  40.                 android:layout_width="wrap_content"
  41.                 android:layout_height="wrap_content"
  42.                 android:text="石头" />

  43.             <RadioButton
  44.                 android:id="@+id/groupBKnife"
  45.                 android:layout_width="wrap_content"
  46.                 android:layout_height="wrap_content"
  47.                 android:text="剪刀" />

  48.             <RadioButton
  49.                 android:id="@+id/groupBCloth"
  50.                 android:layout_width="wrap_content"
  51.                 android:layout_height="wrap_content"
  52.                 android:text="布" />
  53.         </RadioGroup>
  54.     </LinearLayout>

  55.     <Button
  56.         android:id="@+id/button1"
  57.         android:layout_width="wrap_content"
  58.         android:layout_height="wrap_content"
  59.         android:text="测试" />

  60. </LinearLayout>
复制代码




评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马