• 14
name

A PHP Error was encountered

Severity: Notice

Message: Undefined index: userid

Filename: views/question.php

Line Number: 191

Backtrace:

File: /home/prodcxja/public_html/questions/application/views/question.php
Line: 191
Function: _error_handler

File: /home/prodcxja/public_html/questions/application/controllers/Questions.php
Line: 433
Function: view

File: /home/prodcxja/public_html/questions/index.php
Line: 315
Function: require_once

name Punditsdkoslkdosdkoskdo

How to access RecyclerView in androidx?

Hi I'm new to Android development and I'm trying out a tutorial on MVVM I found on YouTube. The example project in the video uses AppCompat but I converted mine to androidx because from what I read its the current(?) version to use? Am I mistaken with this thinking?

Anyways Part of the tutorial makes use of a RecyclerView and I can't access it on my activity_main.xml file stating that v7 is an unresolved package. android.support.v7.widget.RecyclerView shows up with v7 onwards as red text. I know I can revert it back to older versions but I guess I am trying to make this work since moving forward its expected to know how to use androidx right?

I don't know how to add the RecyclerView to the project with my current project migrated to androidx.

What I've tried:

  • Adding implementation 'com.android.support:recyclerview-v7:28.0.0' based on the docs
  • Invalidating cache and restarting

My Dependencies:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.1.0-alpha04'
    implementation 'androidx.appcompat:appcompat:1.0.0-beta01'
    implementation 'androidx.cardview:cardview:1.0.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test:runner:1.1.0-alpha4'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha4'

    //RecyclerView
    implementation 'com.android.support:recyclerview-v7:28.0.0'


    // Lifecycle components
    implementation "androidx.lifecycle:lifecycle-extensions:2.1.0-alpha04"
    annotationProcessor "androidx.lifecycle:lifecycle-compiler:2.1.0-alpha04"

    // Room Components
    implementation "androidx.room:room-runtime:2.1.0-alpha06"
    annotationProcessor "androidx.room:room-compiler:2.1.0-alpha06"
}

My activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <view class="android.support.v7.widget.RecyclerView"
        android:id="@+id/recycler_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:listitem="@layout/todo_item"/>

</androidx.constraintlayout.widget.ConstraintLayout>
      • 1
    • You should know the difference between AndroidX and Android Support Libraries (numbered versions). When using AndroidX, do not use any of the numbered support libraries. Read this AndroidX documentation before you use AndroidX, to get a rough idea of how & why to use it. You don't seem to know how dependency versions work in Android. Here is a good blog to give you a quick overview of version names of libraries.

RecyclerViewwas migrated to AndroidX as well:

  1. Updatebuild.gradle:
implementation 'androidx.recyclerview:recyclerview:1.1.0'
  1. Change layout file:
<androidx.recyclerview.widget.RecyclerView>...</androidx.recyclerview.widget.RecyclerView
  • 77
Reply Report

Official document : https://developer.android.com/jetpack/androidx/migrate

Step 1: Check and set the lines in gradle.properties:

android.useAndroidX=true
android.enableJetifier=true

Step 2: Change

implementation 'com.android.support:recyclerview-v7:28.0.0'

to

implementation 'androidx.recyclerview:recyclerview:1.0.0' //Update to latest version

And finally: Change the tag

 <view class="android.support.v7.widget.RecyclerView"...>

to

<androidx.recyclerview.widget.RecyclerView
     android:id="@+id/recycler_view"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     tools:listitem="@layout/todo_item"/>
  • 1
Reply Report