title: Null textview when it's call on a handler
body: <p>I'm trying to do a <code>setText()</code> on a <code>Textview</code> (already instantiate in the <code>onCreate()</code>) called by a <code>Handler</code> and using the <code>ruiOnUiTread()</code> but I have a <code>nullPointerException</code> on the <code>Textview</code>.</p>
  
  <p>Where can the problem come from?</p>
  
  <p>I saw in the debug that the instance of the <code>activity</code> was not the same between the instantiation and the setText() while I do not change <code>activity</code> but impossible to instantiate it in the same place as the <code>setText()</code>.</p>
  
  <pre><code>private TextView ambianceTextView;
  
  @Override
  protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
  
      ambianceTextView = findViewById(R.id.valeur_ambiance);
  
      StarterKillerPidroid.getInstance().startApp();
  }
  
  private final Runnable retrieveData = new Runnable() {
      public void run() {
          try {
              setText();
          } catch (Exception e) {
              e.printStackTrace();
          }
          handlerRecup.postDelayed(retrieveData, 1000);
      }
  };
  
  public void setText(){
    runOnUiThread(new Runnable() {
       @Override
       public void run() {
          ambianceTextView.setText("test");
       }
     });
  }
  
  public void doAfterLogin() {
      handlerRecup.postDelayed(retrieveData, 10000);
  }
  </code></pre>
  
  <p>the runnable is started by a function called by a callback of an http request with Volley</p>
  
  <p>public class StarterKillerPidroid {</p>
  
  <pre><code>void startApp() {
      //Sending a request 
      PostmanPidroid.getInstance().login();
  }
  
  public void ackLogin(Boolean isValid) {
      if (isValid) {
          ActivityMain.getInstance().doAfterLogin();
      } else {
          PostmanPidroid.getInstance().login();
      }
  }
  </code></pre>
  
  <p>}</p>
  
  <p>The class Postman : </p>
  
  <pre><code>  public class Postman {
     public void login(){
  
          // Parameters
          String email = "test@tes";
          String password = "test";
  
          // Encoding the request with parameters
          JsonObjectRequest request = EncoderDecoderPidroid.getInstance()
                  .encodeRequestLogin(email, password);
  
          // Sending the request
          sendRequest(request);
       }
  
       void sendRequest(StringRequest message){
           // Creating the queu if it's not create
           if (queue == null) {
                 queue = Volley.newRequestQueue(context);
            }
            // Adding the request to the queue
                queue.add(message);
             }
     }
  </code></pre>
  
  <p>When a success response is received, this callback is called : </p>
  
  <pre><code> private Response.Listener&lt;JSONObject&gt; callbackLogin =
              new Response.Listener&lt;JSONObject&gt;() {
          @Override
          public void onResponse(JSONObject response) {
              ...
              StarterKillerPidroid.getInstance().ackLogin(true);
          }
      };
  </code></pre>