Представление Recycler не отображаетсяAndroid

Форум для тех, кто программирует под Android
Ответить
Гость
 Представление Recycler не отображается

Сообщение Гость »


Я создаю приложение, которое использует представление переработчика в панели навигации. Почему не отображается содержимое представления переработчика. Вид определенно есть, поскольку я вижу тени от прокрутки. Я не уверен, что я сделал не так, поскольку приложение не вылетает при запуске.

Фрагмент ящика навигации:

публичный класс NavigationDrawerFragment расширяет android.support.v4.app.Fragment { общедоступная статическая финальная строка PREF_FILE_NAME = "testPref"; общедоступная статическая окончательная строка KEY_USER_LEARNED_DRAWER = «user_learned_drawer»; частный RecyclerView mRecyclerView; частный ActionBarDrawerToggle mDrawerToggle; частный DrawerLayout mDrawerLayout; частный просмотр контейнераView; частная логическая переменная mUserLearnedDrawer; частное логическое значение mFromSavedInstanceState; частный адаптер DrawerAdapter; общественный NavigationDrawerFragment () { mFromSavedInstanceState = ложь; } @Override public void onCreate (Bundle saveInstanceState) { super.onCreate(saveInstanceState); mUserLearnedDrawer = Boolean.valueOf(readFromPreferences(getActivity(), KEY_USER_LEARNED_DRAWER, "false")); если (savedInstanceState! = ноль) { mFromSavedInstanceState = правда; } } @Override public View onCreateView (инфлятор LayoutInflater, контейнер ViewGroup, Пакет saveInstanceState) { // Раздуваем макет для этого фрагмента Просмотр макета = inflater.inflate(R.layout.fragment_navigation_drawer, контейнер, false); mRecyclerView = (RecyclerView) layout.findViewById(R.id.drawerList); адаптер = новый DrawerAdapter(getActivity(), getData()); mRecyclerView.setAdapter(адаптер); mRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity())); обратная планировка; } общедоступный статический список getData(){ Данные List = новый ArrayList(); int icon[] = {R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher}; String titles[] = {"Ссылка 1", "Ссылка 2", "Ссылка 3", "Ссылка 4"}; for (int i = 0; i < titles.length && i < icon.length; i++){ DrawerRow текущий = новый DrawerRow(); current.iconId = значки [я]; current.title = заголовки [я]; данные.добавить(текущий); } возврат данных; } public void setUp(int фрагментId, DrawerLayout drawerLayout, панель инструментов) { ContainerView = getActivity().findViewById(fragmentId); mDrawerLayout = drawerLayout; mDrawerToggle = новый ActionBarDrawerToggle(getActivity(), drawerLayout, панель инструментов, R.string.drawerOpen, R.string.drawerClosed){ @Override public void onDrawerOpened (Просмотр drawerView) { super.onDrawerOpened(drawerView); если (!mUserLearnedDrawer) { mUserLearnedDrawer = правда; saveToPreferences(getActivity(),KEY_USER_LEARNED_DRAWER, mUserLearnedDrawer+""); } getActivity().invalidateOptionsMenu(); } @Override public void onDrawerClosed (Просмотр drawerView) { super.onDrawerClosed(drawerView); getActivity().invalidateOptionsMenu(); } }; if(!mUserLearnedDrawer && !mFromSavedInstanceState){ mDrawerLayout.openDrawer(containerView); } mDrawerLayout.setDrawerListener(mDrawerToggle); mDrawerLayout.post(новый Runnable() { @Override общественный недействительный запуск () { mDrawerToggle.syncState(); } }); } public void saveToPreferences (Контекст контекста, String prefName, String prefValue) { SharedPreferences SharedPreferences = context.getSharedPreferences(PREF_FILE_NAME, Context.MODE_PRIVATE); SharedPreferences.Editor mEditor = SharedPreferences.edit(); mEditor.putString(prefName, prefValue); мредитор.применить(); } public static String readFromPreferences (Контекст контекста, String prefName, String defaultValue) { SharedPreferences SharedPreferences = context.getSharedPreferences(PREF_FILE_NAME, Context.MODE_PRIVATE); return SharedPreferences.getString(prefName,defaultValue); } } Адаптер:

публичный класс DrawerAdapter расширяет RecyclerView.Adapter{ частный инфлятор LayoutInflater; Данные List = Collections.EMPTY_LIST; public DrawerAdapter (действие FragmentActivity, List данные) { инфлятор = LayoutInflater.from(активность); this.data = данные; } @Override public MyViewHolder onCreateViewHolder (ViewGroup viewGroup, int i) { Просмотр представления = inflator.inflate(R.layout.nav_drawer_row, viewGroup,false); Держатель MyViewHolder = новый MyViewHolder (просмотр); возвратный держатель; } @Override public void onBindViewHolder (MyViewHolder viewHolder, int i) { DrawerRow текущий = data.get(i); viewHolder.title.setText(current.title); viewHolder.icon.setImageResource(current.iconId); } @Override общественный ИНТ getItemCount () { вернуть 0; } класс MyViewHolder расширяет RecyclerView.ViewHolder{ значок просмотра изображения; заголовок TextView; public MyViewHolder (Просмотр itemView) { супер (предметView); значок = (ImageView) itemView.findViewById(R.id.list_icon); title = (TextView) itemView.findViewById(R.id.list_text); } } } Строка ящика:

публичный класс DrawerRow { интервал значка; Строковый заголовок; } Макет:

Строка ящика:

Макет фрагмента панели навигации:
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»