title: How to Move one Screen to Another Screen in LibGDX.?
body: <p>I am trying to move one screen to another screen using LIBGDX game engine.
  my first Screen where i have a button, i want when i click on this button screen should be change.</p>
  
  <pre><code>package com.mygdx.game;
  
  import com.badlogic.gdx.Game;
  import com.badlogic.gdx.Gdx;
  import com.badlogic.gdx.InputProcessor;
  import com.badlogic.gdx.Screen;
  import com.badlogic.gdx.graphics.GL20;
  import com.badlogic.gdx.graphics.Texture;
  import com.badlogic.gdx.graphics.g2d.BitmapFont;
  import com.badlogic.gdx.graphics.g2d.Sprite;
  import com.badlogic.gdx.graphics.g2d.TextureRegion;
  import com.badlogic.gdx.scenes.scene2d.InputEvent;
  import com.badlogic.gdx.scenes.scene2d.Stage;
  import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
  import com.badlogic.gdx.scenes.scene2d.ui.TextButton.TextButtonStyle;
  import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
  import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable;
  
  
  public class MyGdxGame extends Game implements Screen,InputProcessor{
  Stage stage;
  TextureRegion rgn_reply;
  TextButton button_reply;
  TextButtonStyle reply_style;
  BitmapFont font;
  
  Game game;
  Screen1 screen1;
  MyGdxGame h;
  float y_touched;
  float x_touched;
  public MyGdxGame()
  {
  
  }
  public MyGdxGame(Game _g)
  {
      this.game=_g;
  }
  @Override
  public void create() {
      // TODO Auto-generated method stub
  
      font = new BitmapFont();
  
  
      stage = new Stage();
      Sprite sp_button =  new Sprite(new TextureRegion(new Texture("whats-app.png")));
      Sprite sp_button_active =  new Sprite(new TextureRegion(new Texture("whats-app_active.png")));
      reply_style = new TextButtonStyle(new TextureRegionDrawable(sp_button),new TextureRegionDrawable(sp_button_active),null,font);
      button_reply = new TextButton("", reply_style);
      button_reply.setPosition(55,55);
      button_reply.setSize(100, 100);
      stage.addActor(button_reply);
      Gdx.input.setInputProcessor(stage);
      button_reply.addListener(new ClickListener() {
             @Override
             public void clicked(InputEvent event, float x, float y) {
                 System.out.println("button clicked");
                 game.setScreen(new Screen1());
               };
         });
  
  }
   @Override
      public void render() {
          Gdx.gl.glClearColor(0.18f,0.21f,0.27f, 1);
          Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
          super.render();
          stage.draw();
      }
  @Override
  public boolean keyDown(int keycode) {
      // TODO Auto-generated method stub
      return false;
  }
  @Override
  public boolean keyUp(int keycode) {
      // TODO Auto-generated method stub
      return false;
  }
  @Override
  public boolean keyTyped(char character) {
      // TODO Auto-generated method stub
      return false;
  }
  @Override
  public boolean touchDown(int screenX, int screenY, int pointer, int button) {
      // TODO Auto-generated method stub
  
      return false;
  }
  @Override
  public boolean touchUp(int screenX, int screenY, int pointer, int button) {
      // TODO Auto-generated method stub
      return false;
  }
  @Override
  public boolean touchDragged(int screenX, int screenY, int pointer) {
      // TODO Auto-generated method stub
      return false;
  }
  @Override
  public boolean mouseMoved(int screenX, int screenY) {
      // TODO Auto-generated method stub
  
      return false;
  }
  @Override
  public boolean scrolled(int amount) {
      // TODO Auto-generated method stub
      return false;
  }
  @Override
  public void render(float delta) {
      // TODO Auto-generated method stub
  
  }
  @Override
  public void show() {
      // TODO Auto-generated method stub
  
  }
  @Override
  public void hide() {
      // TODO Auto-generated method stub
  
  }
  }
  </code></pre>
  
  <p>This is my 2nd screen code there is nothing on this screen.</p>
  
  <pre><code>package com.mygdx.game;
  
  import com.badlogic.gdx.Gdx;
  import com.badlogic.gdx.Screen;
  import com.badlogic.gdx.graphics.GL20;
  
  public class Screen1 implements Screen{
  
  MyGdxGame h;
  
  public Screen1(MyGdxGame _h)
  {
      this.h=_h;
  }
  
  public Screen1()
  {
  
  }
  
  @Override
  public void render(float delta) {
      // TODO Auto-generated method stub
      Gdx.gl.glClearColor(0.18f,0.21f,0.27f, 1);
      Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
  }
  
  @Override
  public void resize(int width, int height) {
      // TODO Auto-generated method stub
  
  }
  
  @Override
  public void show() {
      // TODO Auto-generated method stub
  
  }
  
  @Override
  public void hide() {
      // TODO Auto-generated method stub
  
  }
  
  @Override
  public void pause() {
      // TODO Auto-generated method stub
  
  }
  
  @Override
  public void resume() {
      // TODO Auto-generated method stub
  
  }
  
  @Override
  public void dispose() {
      // TODO Auto-generated method stub
  
  }
  
  }
  </code></pre>
  
  <p>this does not work properly. not showing the 2nd screen.</p>