Я реализую дизайн материалов в своем приложении и конвертирую ListViews в RecyclerViews. Я слежу за учебниками, которые использовали метод getListView(), но они больше не доступны, когда я расширяю свой класс с помощью AppCompatActivity. Есть ли альтернатива, которую я могу использовать?getListView() замена при использовании RecyclerView
ответ
getListView()
- метод удобства на ListActivity
и ListFragment
. Однако нет необходимости использовать ListActivity
или ListFragment
, чтобы использовать ListView
. Если вы используете обычный Activity
или обычный Fragment
, вы должны получить ListView
из своего макета, используя findViewById()
, как и с любым другим виджетом.
То же самое относится и к RecyclerView
. Вы получите RecyclerView
с вашего завышенного макета, используя findViewById()
.
Теперь вы можете создать свои собственные RecyclerViewActivity
и RecyclerViewFragment
, которые вы можете продлить, если хотите. Например, вы могли бы иметь RecyclerViewActivity
так:
/***
Copyright (c) 2008-2015 CommonsWare, LLC
Licensed under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy
of the License at http://www.apache.org/licenses/LICENSE-2.0. Unless required
by applicable law or agreed to in writing, software distributed under the
License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
OF ANY KIND, either express or implied. See the License for the specific
language governing permissions and limitations under the License.
From _The Busy Coder's Guide to Android Development_
https://commonsware.com/Android
*/
package com.commonsware.android.recyclerview.simplelist;
import android.app.Activity;
import android.support.v7.widget.RecyclerView;
public class RecyclerViewActivity extends Activity {
private RecyclerView rv=null;
public void setAdapter(RecyclerView.Adapter adapter) {
getRecyclerView().setAdapter(adapter);
}
public RecyclerView.Adapter getAdapter() {
return(getRecyclerView().getAdapter());
}
public void setLayoutManager(RecyclerView.LayoutManager mgr) {
getRecyclerView().setLayoutManager(mgr);
}
public RecyclerView getRecyclerView() {
if (rv==null) {
rv=new RecyclerView(this);
rv.setHasFixedSize(true);
setContentView(rv);
}
return(rv);
}
}
Здесь Вы можете использовать getRecyclerView()
и RecyclerViewActivity
создаст экземпляр RecyclerView
для вас и установить его в качестве точки зрения содержания деятельности. В моем случае RecyclerViewActivity
наследует от Activity
, меняя его наследование с AppCompatActivity
- это вопрос добавления 9 символов к базовому классу (Activity
->AppCompatActivity
).
Спасибо, @CommonsWare. Я понимаю это сейчас. – KvnH
- 1. Ошибка приложения при использовании RecyclerView
- 2. Nullpointer Исключение при использовании RecyclerView
- 3. android OutOfMemoryError при использовании RecyclerView
- 4. PreferenceFragment getListView
- 5. getListView отсутствует
- 6. Пустой RecyclerView при использовании пользовательского адаптера
- 7. Анимация RecyclerView элементов при использовании базовой коллекции
- 8. Does notifydatasetchanged call onCreateViewHolder при использовании RecyclerView
- 9. Получение NullPointerException при использовании RecyclerView на addFocusables
- 10. NPE при использовании RecyclerView в андроиде
- 11. Disapearing CardViews при использовании recyclerview-multiselect
- 12. ListFragment getListView null
- 13. Проблема с getListView(). GetFirstVisiblePosition()
- 14. Замена для уникального (rbind()) при использовании data.tables
- 15. Замена для clipRect() при использовании аппаратного ускорения
- 16. Условный параметр Замена при использовании cat
- 17. Разрыв строки при использовании Замена на Android
- 18. Поиск и замена WordPress при использовании https: //
- 19. Поиск и замена Mysql при использовании «http: //»
- 20. Замена для Url.Link при использовании маршрутизации атрибутов
- 21. Android - ошибка getListView() в ListFragment
- 22. Ошибка с setListAdapter и getListview
- 23. Исключение Null Pointer при использовании getListView() для обновления одной строки в представлении пользовательского списка
- 24. Какова замена утилитарного метода setAdapter от RecyclerView?
- 25. Замена LinearLayout на фрагмент в RecyclerView
- 26. android.content.res.Resources $ NotFoundException: Идентификатор ресурса # 0x0 при использовании RecyclerView
- 27. Как использовать RecyclerView в LinearLayout при использовании фрагментов?
- 28. Null указатель Исключение при использовании RecyclerView и Async Задача
- 29. Установите RecyclerView краевое свечение pre-lollipop при использовании appcompat
- 30. Ошибка слияния при использовании Recyclerview для более низкой версии SDK
Метод getListView() доступен для ListActivity, ListFragment, который возвращает вид списка. Чтобы заменить такие экземпляры, просто поместите recyclerview в AppCompatActivity и используйте это вместо этого. –