Я создаю список RecyclerView со стандартным макетом. Затем я добавляю один новый элемент в список и обновления макета, чтобы показать новый элемент. Затем я перехожу к предыдущему действию. Когда я вернусь к активности RecyclerView, я вернусь в общий список по умолчанию, и мой новый элемент в списке RecyclerView исчез.
Итак, как мне вернуться в RecyclerView и новый элемент, который я создал, а не в общий список? Нужно ли добавлять код, который говорит, если размер адаптерa > 0, то не создавайте новый список, используя существующий? И должен ли я делать тест в активности RecyclerView или в адаптере? Если нет, возникает ли моя проблема, потому что адаптер не связан каким-либо образом с сохраненнымInstanceState активности RecyclerView?
Активность:
public class ListContactsActivity extends AppCompatActivity {
private ListContactsAdapter mContactsAdapter;
private RecyclerView mRecyclerView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_recyclerviewlist);
final List<Contact> mContacts;
mContacts = new ArrayList<>();
mRecyclerView = (RecyclerView) findViewById(R.id.cardList);
mRecyclerView.setLayoutManager(getLayoutManager());
mRecyclerView.setHasFixedSize(true);
mContactsAdapter = new ListContactsAdapter(this, mContacts);
mRecyclerView.setAdapter(mContactsAdapter);
...
}
private RecyclerView.LayoutManager getLayoutManager() {
LinearLayoutManager llm = new LinearLayoutManager(this);
llm.setOrientation(LinearLayoutManager.VERTICAL);
return llm;
}
Adapter:
class ListContactsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
...
@Override
public int getItemCount() {
return mItems.size();
}
Код панели инструментов в действии:
...
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
toolbar.setNavigationIcon(R.drawable.ic_action_previous_item);
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onBackPressed();
}
});