2013-04-28 9 views

Odpowiedz

16
LayoutInflater li = LayoutInflater.from(context); 

View promptsView = li.inflate(R.layout.my_dialog_layout, null); 

AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context); 

alertDialogBuilder.setView(promptsView); 

// set dialog message 

alertDialogBuilder.setTitle("My Dialog.."); 
alertDialogBuilder.setIcon(R.drawable.ic_launcher); 
// create alert dialog 
final AlertDialog alertDialog = alertDialogBuilder.create(); 

final Spinner mSpinner= (Spinner) promptsView 
     .findViewById(R.id.mySpinner); 
final Button mButton = (Button) promptsView 
     .findViewById(R.id.myButton); 

// reference UI elements from my_dialog_layout in similar fashion 

mSpinner.setOnItemSelectedListener(new OnSpinnerItemClicked()); 

// show it 
alertDialog.show(); 
alertDialog.setCanceledOnTouchOutside(false); 

gdzie

my_dialog_layout jest układ popup które zawiera Spinner mySpinner

EDIT:

public class OnSpinnerItemClicked implements OnItemSelectedListener { 

     @Override 
     public void onItemSelected(AdapterView<?> parent, 
       View view, int pos, long id) { 
      Toast.makeText(parent.getContext(), "Clicked : " + 
        parent.getItemAtPosition(pos).toString(), Toast.LENGTH_LONG).show(); 


     } 

     @Override 
     public void onNothingSelected(AdapterView parent) { 
      // Do nothing. 
     } 
    } 
+0

onSpinnerItemclicked jest podkreślona na czerwono – user2109242

+0

Tak, proszę, tak, jak powinno być! Musisz to zdefiniować! Czy po raz pierwszy pracujesz z spinnerami? – Swayam

+0

tak, jak to zdefiniuję? – user2109242