モバイルアプリのパフォーマンスを向上させようとしています。 AsyncTaskを使用しようとしています。私はAsyncTaskに関する多くのドキュメントを見てきましたが、ここでは数多くの質問を見てきましたが、コードが正しく動作するように見えませんでした。AsyncTaskのどこのアダプターを設定しますか?
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_travel_updates);
Twitter.initialize(this);
new getTweets().execute();
}
private class getTweets extends AsyncTask<Void, Void, Void>{
@Override
protected void onPreExecute() {
super.onPreExecute();
final RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recycler_view);
recyclerView.setLayoutManager(new LinearLayoutManager(travel_updates.this));
}
@Override
protected Void doInBackground(Void... params) {
final UserTimeline searchTimeline = new UserTimeline.Builder().screenName("TflTravelAlerts")
.maxItemsPerRequest(5)
.build();
final TweetTimelineRecyclerViewAdapter tweetAdapter =
new TweetTimelineRecyclerViewAdapter.Builder(travel_updates.this)
.setTimeline(searchTimeline)
.setViewStyle(R.style.tw__TweetLightWithActionsStyle)
.build();
return null;
}
@Override
protected void onPostExecute(Void Void) {
recyclerView.setAdapter(tweetAdapter);
}
}
}
おかげ
*「それは私のためにはうまくいかない」*これは私たちがあなたを助けるために少し良く説明できますか? – codeMagic
はい!私の漠然とした説明の謝罪!受信したエラーは「シンボル 'recyclerView'を解決できません」 –
これは別の方法で宣言されています。これがすべて1つのクラスであると仮定すると、 'onCreate()'で宣言して初期化し、今のようにアダプタを設定します。 – codeMagic