Я пытаюсь сохранить recyclerview, даже после переключения вкладок. Я уже некоторое время собираюсь на это, и попробовал несколько методов, но никто не работает.keep Recyclerview on tab change
MainActivity.java
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent = getIntent();
initTab
}
private void initTab(){
//tab setup
mTabHost = (FragmentTabHost) findViewById(android.R.id.tabhost);
mTabHost.setup(MainActivity.this,getSupportFragmentManager(),android.R.id.tabcontent);
...
mTabHost.addTab(mTabHost.newTabSpec("tab1").setIndicator(createTabView(icon_search, "search")),
searchFragment.class, null);
...more tabs added...
return;
Фрагмент
private RecyclerView results;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
final Bundle savedInstanceState){
View v = inflater.inflate(R.layout.tab_search, container, false);
results = (RecyclerView) v.findViewById(R.id.search_results);
results.setHasFixedSize(true);
LinearLayoutManager mLayoutManager = new LinearLayoutManager(getActivity());
results.setLayoutManager(mLayoutManager);
ScrollListener mScrollListener = new ScrollListener(mLayoutManager);
results.setAdapter(searchResultsAdapter);
results.addOnScrollListener(mScrollListener);
return v;
Я не могу сделать mLayoutManager синглтона либо в противном случае я получаю сообщение об ошибке от recyclerview что-то вроде
«LayoutManager уже attatched к RecyclerView "
Портретный режим i s заблокирован, а MainActivity не переключается на другие действия.
Я вижу. Я подозревал, что Адаптер был виновником, я должен был проверить его. Это было так просто, я просто сделал адаптером синглтон, и он сохранился. ранее я его создавал в onCreateView – John
Я рад, что это было простое изменение для вас! Не могли бы вы отметить этот ответ, ответив на вопрос, считаете ли вы, что он ответил на ваш вопрос. – DanielLaneDC