Android设置Item列表菜单


//先看下效果

//目录结构

//main.xml 就一个按钮,我就不多说了。

//strings.xml ,字符串

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <resources>  
  3.     <string name="str_menu1">第一项</string>  
  4.     <string name="str_menu2">第二项</string>  
  5.     <string name="str_menu3">第三项</string>  
  6.     <string name="app_name">Sudokuv1TestDemo</string>  
  7. </resources>  

//arrays.xml 引用strings.xml内容,以及添加自己的Item

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <resources>  
  3.     <array name="different">  
  4.         <item>@string/str_menu1</item>  
  5.         <item>@string/str_menu2</item>  
  6.         <item>@string/str_menu3</item>  
  7.     </array>  
  8. </resources>  

//Sudokuv1TestDemoActivity.java 

  1. package sn.len.sudokuv1demo;  
  2.   
  3. import Android.app.Activity;  
  4. import android.app.AlertDialog;  
  5. import android.content.DialogInterface;  
  6. import android.os.Bundle;  
  7. import android.util.Log;  
  8. import android.view.View;  
  9. import android.view.View.OnClickListener;  
  10.   
  11. public class Sudokuv1TestDemoActivity extends Activity implements OnClickListener   
  12. {  
  13.     @Override  
  14.     public void onCreate(Bundle savedInstanceState)   
  15.     {  
  16.         super.onCreate(savedInstanceState);  
  17.         setContentView(R.layout.main);  
  18.         View gamebutton=findViewById(R.id.new_game);  
  19.         gamebutton.setOnClickListener(this);  
  20.     }  
  21.     @Override  
  22.     public void onClick(View v)   
  23.     {  
  24.         switch(v.getId())  
  25.         {  
  26.         case R.id.new_game:openNewGameWin(); //调用openNewGameWin函数   
  27.         break;  
  28.         default:  
  29.         break;  
  30.         }  
  31.     }  
  32.     public void openNewGameWin()  
  33.     {  
  34.         /** 
  35.          * 1. AlertDialog 本身并没有构造函数 即 不可以通过 new AlertDialog(...) 
  36.          * 来初始化 而只能通过 AlertDialog.Builder 
  37.          * 2. 而 AlertDialog.Builder 比较像是AlertDialog的构造器 用于接收各种和 AlertDialog 
  38.          * 有关的参数 然后通过 create() 来创建目标 AlertDialog 
  39.          * 不太明明明白的朋友可以去网上搜下这个类。 
  40.          */  
  41.         AlertDialog.Builder alertDialog=new AlertDialog.Builder(this);  
  42.         alertDialog.setTitle("This is Title"); //设置标题   
  43.         alertDialog.setItems  
  44.         (  
  45.                 //设置每一项的监听   
  46.                 //R.array.different这个常量,是<array name="different">,array的名字   
  47.                 R.array.different,new DialogInterface.OnClickListener()   
  48.                 {  
  49.                       
  50.                     @Override  
  51.                     public void onClick(DialogInterface dialog, int which)  
  52.                     {  
  53.                         Log.i("NND", which+"");  
  54.                     }  
  55.                 }  
  56.         );  
  57.         alertDialog.show();//显示出来   
  58.     }  
  59. }  

相关内容