2013-05-08 21 views
1

我在我的应用程序中有按钮,当我点击这个按钮时,它打开一个微调器,但微调控制器处于下拉模式,我需要在对话模式下。对于API 11或更高,有一个简单的代码做的伎俩:如何在对话模式下进行微调?

Spinner s1 = new Spinner(this, Spinner.MODE_DIALOG); 

但我需要使用一些代码,这也是7和更高的API。请有人帮助我吗?

回答

0

这是我如何做:

在这里,问题是的String [];

DialogInterface.OnClickListener questionDialogListener = new DialogInterface.OnClickListener() { 

      @Override 
      public void onClick(DialogInterface arg0, int arg1) { 

// implement the coding for getting the selected item. 



       arg0.dismiss(); 
      } 
     }; 

     AlertDialog.Builder builder = new AlertDialog.Builder(this); 
     builder.setTitle("Select Question:"); 
     builder.setItems(questions, questionDialogListener); 

     AlertDialog dialog = builder.create(); 
     dialog.show(); 
    } 
+0

是的,但这是对话,我需要微调,而不是对话,而是微调对话框模式或类似这样的东西。 – Adam 2013-05-08 17:30:01

+0

@亚当这是你在为什么而... ...? http://stackoverflow.com/questions/3673717/set-spinner-within-custom-dialog ---或--- http://stackoverflow.com/questions/6286847/how-do-i-create-an- android-spinner-as-a-popup – 2013-05-09 01:36:34

+0

不,我需要将我的微调器显示为对话框而不是下拉模式。 – Adam 2013-05-09 09:04:40

0

我就是这么做的:

LayoutInflater inflater = context.getLayoutInflater(); 
    final View dlg =inflater.inflate(R.layout.dialog,null);    

    final AlertDialog d = new AlertDialog.Builder(context) 
     .setView(dlg) 
     .setPositiveButton("SAVE", 
       new Dialog.OnClickListener() { 
        public void onClick(DialogInterface d, int which) { 
         //Do nothing here. We override the onclick 
        } 
       }) 
     .setNegativeButton("CANCEL", new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int id) { 
        //This will close dialog 
       } 
      }) 
     .create(); 

     d.setOnShowListener(new DialogInterface.OnShowListener() {    
      @Override 
      public void onShow(DialogInterface dialog) {  
       final Spinner mySpinner = (Spinner)dlg.findViewById(R.id.spinner); 
       ArrayAdapter<CharSequence> adapter = new ArrayAdapter<CharSequence>(context,android.R.layout.simple_spinner_item); 
      //ADD VALUES TO adapter 
       adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);     
       mySpinner.setAdapter(adapter); 
       Button b = d.getButton(AlertDialog.BUTTON_POSITIVE); 
       b.setOnClickListener(new View.OnClickListener() {    
        @Override 
        public void onClick(View view) { 
         d.dismiss(); 
         //DO SOMETHING 
        } 
       }); 
      } 
     });    
     d.show(); 
+0

这不是我想要的,我需要在对话框模式下显示微调,而不是在对话框中进行微调。 – Adam 2013-05-08 21:17:11

+0

你希望微调控制器作为对话框的下拉菜单或列表? – JannGabriel 2013-05-09 20:59:13

相关问题