1,现在我们使用dagger2编写一个点击按钮更新UI的操作
public interface IView { void updateUi(String data); }
public interface IPresenter { void loadData(); }
@Component(modules = MyModule.class) public interface AppComponent { void inject(MainActivity activity); }@Module public class MyModule { private IView mainView; public MyModule(IView mainView){ this.mainView = mainView; } @Provides public MyPresenter provideMyPresenter(){ return new MyPresenter(mainView); } }public class MyPresenter implements IPresenter { IView iView; public MyPresenter(IView iView) { this.iView=iView; } @Override public void loadData() { iView.updateUi("Mvp Update UI "+System.currentTimeMillis()); } }编写好上面五个类以后TextView textView; @Inject MyPresenter myPresenter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView= (TextView) findViewById(R.id.mytv); DaggerAppComponent.builder() .myModule(new MyModule(this)) .build() .inject(this); //注入 } public void onclica(View view){ myPresenter.loadData(); } @Override public void updateUi(String data) { textView.setText(data); }就可以跑起来