Я пытаюсь почти целый день исправить эту ошибку ... но logcat не предоставляет достаточно информации для меня, чтобы понять, что я делаю неправильно. На моем реальном устройстве, работающем с API 23, мой recyclerview работает хорошо. Как только я запустил приложение на эмуляторе, работающем под API 19, мои приложения вылетают, когда он начинает загружать адаптер recycleview. В эмуляторе, работающем с Lollipop, эта проблема не сохраняется. Вот код.App crashes on RecyclerView (Adapter) по API 19
HistoryActivity
RecyclerView recyclerView1;
RecyclerView.Adapter rvadapter1;
RecyclerView.LayoutManager rvLayoutManager1;
public static ArrayList<String> itemAdress;
public static ArrayList<String> itemAuthor;
public static ArrayList<String> itemDate;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_rv);
Toolbar toolbar = (Toolbar) findViewById(R.id.rv_toolbar);
setSupportActionBar(toolbar);
toolbar.setTitle(R.string.title_recyclerview);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
itemAdress = new ArrayList<>();
itemAuthor = new ArrayList<>();
itemDate = new ArrayList<>();
recyclerView1 = (RecyclerView) findViewById(R.id.recyclerView1);
rvLayoutManager1 = new LinearLayoutManager(this);
recyclerView1.setLayoutManager(rvLayoutManager1);
recyclerView1.setHasFixedSize(true);
rvadapter1 = new RVAdapter();
recyclerView1.setAdapter(rvadapter1);
}
RVAdapter
public class RVAdapter extends RecyclerView.Adapter<RVAdapter.ViewHolderKlasse> {
public class ViewHolderKlasse extends RecyclerView.ViewHolder{
TextView itemAdress;
TextView itemAuthor;
TextView itemDate;
public ViewHolderKlasse(View itemView) {
super(itemView);
itemAdress = (TextView) itemView.findViewById(R.id.itemAdress);
itemAuthor = (TextView) itemView.findViewById(R.id.itemAuthor);
itemDate = (TextView) itemView.findViewById(R.id.itemDate);
}
}
@Override
public ViewHolderKlasse onCreateViewHolder(ViewGroup viewGroup, int i) {
View itemView1 = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.list_item_rv, null);
return new ViewHolderKlasse(itemView1);
}
@Override
public void onBindViewHolder(final ViewHolderKlasse viewHolderKlasse, final int i) {
viewHolderKlasse.itemAdress.setText(HistoryActivity.itemAdress.get(i));
viewHolderKlasse.itemAuthor.setText(HistoryActivity.itemAuthor.get(i));
viewHolderKlasse.itemDate.setText(HistoryActivity.itemDate.get(i));
}
@Override
public int getItemCount() {
return HistoryActivity.itemAdress.size();
}
}
И вот что я вижу в LogCat
FATAL EXCEPTION: main
Process: support.plus.test, PID: 3640 java.lang.VerifyError: support/plus/test/rv/RVAdapter at support.plus.test.rv.HistoryActivity.onCreate(HistoryActivity.java:82)
Линия 82:
rvadapter1 = new RVAdapter();
Любая помощь или идеи приветствуются! Заранее спасибо.
Вы можете разместить свой код адаптера? где вы простираетесь от Recyclerview.Adapter? –
Какую версию библиотеки совместимости вы используете? – MeetTitan
@MeetTitan 'compile' com.android.support:appcompat-v7:23.3.0 '' – Wladislaw