-
Notifications
You must be signed in to change notification settings - Fork 34
Simple Async
Yuri Shmakov edited this page Nov 1, 2016
·
4 revisions
MainActivit.java:
public class MainActivity extends MvpAppCompatActivity implements HelloWorldView {
@InjectPresenter
HelloWorldPresenter mHelloWorldPresenter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public void showMessage(int message) {
TextView messageTextView = new TextView(this);
messageTextView.setText(message);
messageTextView.setTextSize(40);
messageTextView.setGravity(Gravity.CENTER_HORIZONTAL);
((ViewGroup) findViewById(R.id.activity_main)).addView(messageTextView);
}
}HelloWorldPresenter.java: ```java @InjectViewState public class HelloWorldPresenter extends MvpPresenter { public HelloWorldPresenter() { AsyncTask asyncTask = new AsyncTask() {
@Override
protected Void doInBackground(Void... voids) {
sleepSecond();
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
getViewState().showMessage(R.string.hello_world);
}
private void sleepSecond() {
try {
TimeUnit.SECONDS.sleep(3);
} catch (InterruptedException ignore) {}
}
};
asyncTask.execute();
}
}
<br />
HelloWorldView.java:
```java
public interface HelloWorldView extends MvpView {
void showMessage(int message);
}