title: Why this simple RxJava example cannot run?
body: <p>I am learning RxJava following this article:<a href="http://blog.danlew.net/2014/09/15/grokking-rxjava-part-1/" rel="nofollow">http://blog.danlew.net/2014/09/15/grokking-rxjava-part-1/</a></p>
  
  <p>The first example use RxJava to print a string. I made a little change on it. See the following code.</p>
  
  <pre><code>Observable myObservable = Observable.create(
          new Observable.OnSubscribe() {
              @Override
              public void call(Subscriber&lt;? super String&gt; o) {
                  o.onNext("hello world");
                  o.onCompleted();
              }
          }
  );
  
  Subscriber mySubscriber = new Subscriber() {
      @Override
      public void onCompleted() {
  
      }
  
      @Override
      public void onError(Throwable e) {
  
      }
  
      @Override
      public void onNext(String s) {
          Toast.makeText(mActivity,s,Toast.LENGTH_SHORT).show();
      }
  }
  </code></pre>
  
  <p>Just make it show a toast.</p>
  
  <p>At first , Android Studio's generated code is call(Object o) in  Observable, and onNext(Object o) in Subscriber</p>
  
  <p>Then I changed it followed the article, change "Object o" to "Subscriber o"</p>
  
  <p>But Android Studio notify me " <code>Class 'Anonymous class derived from OnSubscribe' must be either declared abstract or implement abstract method 'call(T)' in Action1</code> " at Subscriber o. And "<code>method does not override method from it's superclass</code>" at onNext()</p>
  
  <p>What I did wrong?</p>