私はcardViewとrecyclerViewにRSSフィードを解析する方法についてYouTubeのチュートリアルに従っていますが、接続されていないアダプターと同じ問題が発生し続けるため、解決策が見つかりません。私はチュートリアルと同じコードを試してみましたが、まだ動作していないようです。以下は、アダプタクラスの下エラー:E/RecyclerView:アダプタが接続されていません。レイアウトをスキップ
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder> {
ArrayList<FeedItem> feedItems;
Context context;
public MyAdapter(Context context, ArrayList<FeedItem>feedItems){
this.feedItems = new ArrayList<>(feedItems);
this.context=context;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(context).inflate(R.layout.custom_row_news_item, parent, false);
MyViewHolder holder = new MyViewHolder(view);
return holder;
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
}
@Override
public int getItemCount() {
return feedItems.size();
}
public class MyViewHolder extends RecyclerView.ViewHolder {
public MyViewHolder(View itemView) {
super(itemView);
}
}
}
は私のRssReaderクラスです。
メイン続くpublic class ReadRss extends AsyncTask<Void, Void, Void> {
Context context;
String address = "http://www.sciencemag.org/rss/news_current.xml";
ProgressDialog progressDialog;
ArrayList<FeedItem> feedItems;
RecyclerView recyclerView;
URL url;
public ReadRss(Context context, RecyclerView recyclerView) {
this.recyclerView = recyclerView;
this.context = context;
progressDialog = new ProgressDialog(context);
progressDialog.setMessage("Loading...");
}
@Override
protected void onPreExecute() {
progressDialog.show();
super.onPreExecute();
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
progressDialog.dismiss();
MyAdapter adapter = new MyAdapter(context, feedItems);
recyclerView.setLayoutManager((new LinearLayoutManager(context)));
recyclerView.setAdapter(adapter);
}
@Override
protected Void doInBackground(Void... params) {
ProcessXml(Getdata());
return null;
}
:
public class MainActivity extends AppCompatActivity {
RecyclerView recyclerView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
recyclerView = (RecyclerView) findViewById(R.id.recycler_view);
ReadRss readRss = new ReadRss(this, recyclerView);
readRss.execute();
}
}
任意の提案ですか?
リサイクラビューでアダプタが設定されていないときにアダプタがリサイクラビューに設定されていて、feedItemsリストが空でないことを確認するとこのエラーが発生します – 44kksharma