Click here to Skip to main content
11,437,680 members (30,243 online)
Rate this: bad
good
Please Sign up or sign in to vote.
See more: Java Android
Panel pnl;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        pnl = new Panel(this);
        setContentView(pnl);
    }
public boolean onPrepareOptionsMenu (Menu menu) {
        text_enter = menu.getItem(1);
        text_enter.setOnMenuItemClickListener(new OnMenuItemClickListener()
        {
            public boolean onMenuItemClick(MenuItem clickedItem)
            {
//Need to write something here to add button or other element programatically

                return true;
            }
        });
 
        return true;
    }
   class Panel extends SurfaceView implements SurfaceHolder.Callback {
	   private TutorialThread _thread;
        public Panel(Context context) {
            super(context);
            getHolder().addCallback(this);
            _thread = new TutorialThread(getHolder(), this);
            setFocusable(true);
        }
 
        @Override
        public boolean onTouchEvent(MotionEvent event) {
            synchronized (_thread.getSurfaceHolder()) {
                if (event.getAction() == MotionEvent.ACTION_DOWN) {
                	if(menu_action == "traffic")
                	{
                		menu_action = "";
                		return true;
                	}
 
                    initial_x = event.getX();
                    initial_y = event.getY();
                }
                if (event.getAction() == MotionEvent.ACTION_UP) {
 
                }
                return true;
            }
        }
 
        @Override
        public void onDraw(Canvas canvas) {
            try{
            Bitmap img;
            GraphicObject.Coordinates cords;
            image.getCoordinates().setX(0);
            image.getCoordinates().setY(0);
            cords = image.getCoordinates();
            img = image.getGraphic();
            
            canvas.drawBitmap(img, cords.getX(), cords.getY(), null);
             }
             catch(Exception x){
            	 x.toString();
             }
            }
        }
 
        @Override
        public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
            // TODO Auto-generated method stub
        }
 
        @Override
        public void surfaceCreated(SurfaceHolder holder) {
            _thread.setRunning(true);
            _thread.start();
        }
 
        @Override
        public void surfaceDestroyed(SurfaceHolder holder) {
            // simply copied from sample application LunarLander:
            // we have to tell thread to shut down & wait for it to finish, or else
            // it might touch the Surface after we return and explode
            boolean retry = true;
            _thread.setRunning(false);
            while (retry) {
                try {
                    _thread.join();
                    retry = false;
                } catch (InterruptedException e) {
                    // we will try it again and again...
                }
            }
        }
    }
Please, help.
Posted 11-Dec-12 6:32am
halabella1.3K
Comments
Yvar Birx at 11-Dec-12 12:01pm
   
What is your problem ?
halabella at 11-Dec-12 15:21pm
   
I need to add a button and editbox by "onMenuItemClick"

1 solution

Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

DO not add button - create the button right away and set it visible(false).
Then, when the onMenuItemClick is called, set the button visible(true).

* not granted that visible(boolean) exists in Android programming, but I guess so. It might be named different though. Please check that out yourself.
  Permalink  

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



Advertise | Privacy | Mobile
Web03 | 2.8.150506.1 | Last Updated 11 Dec 2012
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100