ID #59413

showAlert 的解决方法

         ShowAlert这个成员函数在sdk1.X之后被去掉 所以有时大家在看原来的程序时会遇见这个函数,在下面就是一个很好的解决办法,这里我们用到了RadioGroup.OnCheckedChangeListener,这个是非常重要的。这个可以给大家带来一些思路,写出更多的解决办法。下面我们就来看看代码。

Java代码
  1. package eoe.android.demo;   
  2.   
  3. import android.app.Activity;   
  4. import android.app.AlertDialog;   
  5. import android.os.Bundle;   
  6. import android.view.View;   
  7. import android.widget.Button;   
  8. import android.widget.RadioButton;   
  9. import android.widget.RadioGroup;   
  10. import android.widget.RadioGroup.OnCheckedChangeListener;   
  11.   
  12. public class Exercise1 extends Activity implements OnCheckedChangeListener,View.OnClickListener{   
  13.   
  14. protected static int ans=-1;   
  15.   
  16. protected static int choice=-2;   
  17.   
  18. protected static RadioGroup mRadioGroup;   
  19.   
  20. /** Called when the activity is first created. */   
  21.   
  22. @Override  
  23. public void onCreate(Bundle savedInstanceState) {   
  24.   
  25. super.onCreate(savedInstanceState);   
  26.   
  27. setContentView(R.layout.main);   
  28.   
  29. mRadioGroup=(RadioGroup)findViewById(R.id.group1);   
  30.   
  31. RadioButton r2=(RadioButton)findViewById(R.id.option2);   
  32.   
  33. Button clearButton=(Button)findViewById(R.id.clear);   
  34.   
  35. Button answerButton=(Button)findViewById(R.id.answer);   
  36.   
  37. ans=r2.getId();   
  38.   
  39. mRadioGroup.setOnCheckedChangeListener(this);   
  40.   
  41. clearButton.setOnClickListener(this);   
  42.   
  43. answerButton.setOnClickListener(new Button.OnClickListener(){   
  44.   
  45. public void onClick(View v)   
  46. {   
  47.   
  48. /*showAlert("result",(Exercise1.choice==Exercise1.ans)?"Yes,you are right":"No,you answer is wrong","close",true);*/  
  49.   
  50. AlertDialog.Builder ad=new AlertDialog.Builder(Exercise1.this);   
  51.   
  52. ad.setTitle("answer");   
  53.   
  54. if(Exercise1.choice==Exercise1.ans)   
  55. {   
  56.   
  57. ad.setMessage("Yes,you are right");   
  58. }   
  59.   
  60. else  
  61. ad.setMessage("No,you are wrong");   
  62.   
  63. ad.show();   
  64.   
  65. }   
  66.   
  67. });   
  68.   
  69. }   
  70.   
  71. public void onCheckedChanged(RadioGroup arg0,int checkedId){   
  72.   
  73. choice=checkedId;   
  74.   
  75. }   
  76.   
  77. public void onClick(View arg0){   
  78.   
  79. mRadioGroup.clearCheck();   
  80.   
  81. }   
  82.   
  83. }