AndroidAnnotationsとRetrofit2を使用してAndroidで単純なMVPを試行していますが、 私は情報を得ることはありません。モデルビュープレゼンターのAAとレトロフィットではなく、データを取得しない
コードプレゼンター:
public class ListHomePresenter {
private List<Post> mPost;
Client client;
int error_code = 0;
String error_msg = "";
/**
* TODO: get all post
* */
public List<Post> getPost() throws SampleExceptions{
RestService restService;
client = new Client();
restService = client.getApi();
Call<List<Post>> task = restService.downloadPost();
task.enqueue(new Callback<List<Post>>() {
@Override
public void onResponse(Call<List<Post>> call, Response<List<Post>> response) {
mPost = response.body();
}
@Override
public void onFailure(Call<List<Post>> call, Throwable t) {
mPost = null;
error_code = 1; // error
error_msg = t.getMessage(); // message
}
});
if(error_code == 1)
throw new SampleExceptions(error_code, "Error");
return mPost;
}
}
コード活性
@EActivity(R.layout.activity_home)
パブリッククラスHomeActivityはAppCompatActivity {
@ViewById(R.id.rvPosts)
RecyclerView mRvPost;
PostAdapter mPostAdapter;
ListHomePresenter mListHomePresenter;
private StaggeredGridLayoutManager gaggeredGridLayoutManager;
@AfterViews
void setupHome(){
downloadPost();
}
@UiThread(propagation = Propagation.REUSE)
void downloadPost(){
try{
mListHomePresenter = new ListHomePresenter();
gaggeredGridLayoutManager = new StaggeredGridLayoutManager(2, 1);
mRvPost.setLayoutManager(gaggeredGridLayoutManager);
mPostAdapter = new PostAdapter(HomeActivity.this, mListHomePresenter.getPost());
mRvPost.setAdapter(mPostAdapter);
}catch (SampleExceptions e){
}
}
を拡張します
}
しかし、これまでにヌルデータを取得しています。
Help Me!
を書くこの概念を明確にするためにこの例を見ることができます[Android MVP](https://github.com/antoniolg/androidmvp) –
私のインターフェイスメソッドを使用する方法プレゼンター機能?インスタンス化していますが、エラーが発生します –
プレゼンターコンストラクターでビューインターフェイスを設定します –