Android小项目之---选择对话框

来源:互联网 发布:ubuntu卸载火狐浏览器 编辑:程序博客网 时间:2024/05/12 15:16
还记得早先我们做的记算器的例子吗?当中的验证判断用到了对话框,今天我们来做一个不一样的对话框,要做的这个小例子是一个可供选择效果的对话框即层层迭迭的Alert Dialog;界面方面我们摆放一个Button来做一个按钮事件,解发这个按钮事件后,再通过类似列表项目的方式呈现在Alert Dialog 里面。
  功能用途:投票、选择器、遥控器等类型。。。最后返回程序,取得用户选择菜单项目结果。
  效果图:
 
 
  程序中用到的数据资源如下:
  1. <resources>
  2.     <string name="hello">K..L.. 好餓呀,要上哪吃飯</string>
  3.     <string name="app_name">有選擇的對話框</string>


  4. <string name="Choose">按我開始</string>
  5. <string name="Tittle">按我開始選擇</string>
  6. <string name="body">你選選擇的是:</string>
  7. <string name="Ok">確定</string> 
  8. <string-array name="Dialog">
  9.     <item>韓國餐廳</item>
  10.     <item>一站式餐廳</item>
  11.     <item>回家湘</item>
  12.     <item>富州酒店</item>
  13. </string-array>
  14. </resources>
复制代码
  功能代码如下:因为使用了选择功能的对话框,可能初期看代码有点复杂,建议利用eclipse的文档大纲先把代码层次分好,有利用观看和理解代码。
  1. import android.app.Activity; [indent] import android.app.AlertDialog;
  2. import android.content.DialogInterface;
  3. import android.os.Bundle;
  4. import android.view.View;
  5. import android.view.View.OnClickListener;
  6. import android.widget.*;
  7. public class ChosseDialog extends Activity {
  8. private Button mButton;
  9. private TextView mTextView; 
  10. private CharSequence Text;
  11. /** Called when the activity is first created. */
  12. public void onCreate(Bundle savedInstanceState) {
  13. super.onCreate(savedInstanceState);
  14. setContentView(R.layout.main);
  15. mButton=(Button)findViewById(R.id.Button01);
  16. mTextView=(TextView)findViewById(R.id.TextView01);
  17. mButton.setText(R.string.Choose);
  18. mTextView.setText("請選擇");
  19. mButton.setOnClickListener(new OnClickListener() {

  20. @Override
  21. public void onClick(View v) {
  22. // TODO Auto-generated method stub
  23. new AlertDialog.Builder(ChosseDialog.this)
  24. .setTitle(R.string.hello)
  25. .setItems(R.array.Dialog, new DialogInterface.OnClickListener() {

  26. @Override
  27. public void onClick(DialogInterface dialog, int which) {
  28. // TODO Auto-generated method stub
  29. CharSequence strDialog=getString(R.string.body);
  30. String[] aryShop=getResources().getStringArray(R.array.Dialog); 
  31. Text=strDialog+aryShop[which];
  32. new AlertDialog.Builder(ChosseDialog.this)[/indent] .setTitle(R.string.Tittle)
  33. .setMessage(Text)
  34. .setNegativeButton(R.string.Ok, new DialogInterface.OnClickListener() {

  35. @Override
  36. public void onClick(DialogInterface dialog, int which) {
  37. // TODO Auto-generated method stub
  38. mTextView.setText(Text);
  39. }
  40. }).show();
  41. }
  42. })
  43. .setNegativeButton("取消", new DialogInterface.OnClickListener() {

  44. @Override
  45. public void onClick(DialogInterface dialog, int which) {
  46. // TODO Auto-generated method stub
  47. dialog.dismiss();
  48. }
  49. })
  50. .show();
  51. }
  52. });
  53. }
复制代码
  功能模块到此一个简单的选择功能己经成型
0 0
原创粉丝点击