Search code examples
androidspinnerpopupwindowchronometer

popup menu for spinner in android


i want a spinner with items'A','B','C'

if u select 'A' or'B' means the chronometer has to run.

while select the item 'C' the popup window has 2 open with edittext and 'Ok' button..

if you type the'D' in the edittext means that has too add in the spinner while add the chonometer has to run

here is my code:

public class Starttracker extends Activity {

PopupWindow popupWindow;


    String[] Items = {
                "A",
                "B",
                "C",
                "D",

        };

    Spinner s1;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.start);


  s1 = (Spinner) findViewById(R.id.spinner);

    final ArrayAdapter<String> adapter  = new ArrayAdapter<String>(
            this,android.R.layout.simple_spinner_item,Items);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    s1.setAdapter(adapter);
    s1.setOnItemSelectedListener(new OnItemSelectedListener()
    {
        public void onItemSelected(AdapterView<?> arg0, 
        View arg1, int arg2, long arg3) 
        {
            int index = s1.getSelectedItemPosition();
            Toast.makeText(getBaseContext(), 
                "You have selected item : " + Items[index], 
                Toast.LENGTH_SHORT).show(); 

            if (index==3)
            {
      LayoutInflater inflater = (LayoutInflater) Starttracker.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
      popupWindow = new PopupWindow(inflater.inflate(R.layout.popup,null, false),300,100,true);
     // RelativeLayout01 is Main Activity Root Layout
      popupWindow.showAtLocation(findViewById(R.id.relativelayout), Gravity.CENTER, 0,0);

         } else
            {
                Chronometer chrono=(Chronometer)findViewById(R.id.chronometer);
                chrono.start();
            }
        }

        public void onNothingSelected(AdapterView<?> arg0) {}
    });  




}

can any help to me


Solution

  • the answer is following to my question:

    {
            int size=tempArray.length;
    
            for(int i=0;i<size;i++){
                Items.add(tempArray[i]);
    }
    

    and

                if(index==3)
                {
                    final Dialog dialog=new Dialog(Starttracker.this);
                    dialog.setContentView(R.layout.popup);
                    dialog.setTitle("Enter The Item");
                    dialog.setCanceledOnTouchOutside(true);
    
                    final EditText filename=(EditText)dialog.findViewById(R.id.filename);
                    filename.setText("");
    
                    Button d_ok=(Button)dialog.findViewById(R.id.d_ok);
                    Button d_cancel=(Button)dialog.findViewById(R.id.d_cancel);
    
    
                    d_ok.setOnClickListener(new OnClickListener(){
    
                        public void onClick(View arg0) {
                            // TODO Auto-generated method stub
    
                            String textHolder = filename.getText().toString();
    
                            dialog.dismiss();
    
                            Items.add(textHolder);
    
                            //  s1.setAdapter(adapter);
    
                            // notifyDataSetChanged();
    
                        }
                    });
                    d_cancel.setOnTouchListener(new OnTouchListener(){
                        public boolean onTouch(View v,MotionEvent me){
                            dialog.dismiss();
                            return false;
                        }
                    });
                    dialog.show();
    
                    return;
                }
    

    thank a lot to all