MVP框架的简单实现——2019.3.9
学习文章地址:https://www.jianshu.com/p/a70c9140ba53
我的理解:
我的代码:
MainContractor:
public interface MainContractor
{
interface View
{
void loadViewOnScreen(String str);
}
interface Presenter
{
void getData();
}
}
MainActivity:
public class MainActivity extends AppCompatActivity implements MainContractor.View
{
public MainPresenter presenter;
public Button startButton;
public TextView dataTextView;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate( savedInstanceState );
setContentView( R.layout.activity_main );
startButton = findViewById( R.id.button_start );
dataTextView = findViewById( R.id.text_data );
presenter = new MainPresenter( this );
startButton.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View v)
{
presenter.getData();
}
} );
}
@Override
public void loadViewOnScreen(String str)
{
dataTextView.setText( str );
}
}
MainPresenter:
public class MainPresenter implements MainContractor.Presenter
{
public MainContractor.View mView;
public MainPresenter(MainContractor.View mView)
{
this.mView = mView;
}
@Override
public void getData()
{
String str = "获取到的数据——123456";
mView.loadViewOnScreen(str);
}
}
Demo的GitHub地址:
https://github.com/Codeman625/MVPDemo