{"id":13540833,"url":"https://github.com/amirisback/frogo-recycler-view","last_synced_at":"2025-08-20T12:31:25.677Z","repository":{"id":37382055,"uuid":"229149549","full_name":"amirisback/frogo-recycler-view","owner":"amirisback","description":"RecyclerView With No Adapter | Available For Jetpack Compose ","archived":false,"fork":false,"pushed_at":"2024-03-25T01:28:29.000Z","size":60315,"stargazers_count":162,"open_issues_count":0,"forks_count":16,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-05-03T08:02:47.912Z","etag":null,"topics":["android-library","frogo-library","frogo-sdk","frogobox","recyclerview","recyclerview-adapter","recyclerview-library","recyclerview-no-adapter","shimmer","shimmer-android","shimmer-loading","shimmer-recyclerview","without-adapter"],"latest_commit_sha":null,"homepage":"https://faisalamircs.medium.com/tutorial-recyclerview-cuman-15-detik-dengan-frogorecyclerview-cocok-buat-prototype-untuk-client-ad03b1af907e","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/amirisback.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"amirisback","patreon":null,"open_collective":null,"ko_fi":"amirisback","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":"https://saweria.co/amirisback"}},"created_at":"2019-12-19T22:36:35.000Z","updated_at":"2024-08-01T10:15:40.688Z","dependencies_parsed_at":"2023-02-10T02:31:26.925Z","dependency_job_id":"bdb188d7-4a31-4287-9783-68101c29cf51","html_url":"https://github.com/amirisback/frogo-recycler-view","commit_stats":{"total_commits":398,"total_committers":1,"mean_commits":398.0,"dds":0.0,"last_synced_commit":"28fcbdee9847eadae109f5682d8896313875629b"},"previous_names":[],"tags_count":69,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amirisback%2Ffrogo-recycler-view","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amirisback%2Ffrogo-recycler-view/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amirisback%2Ffrogo-recycler-view/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amirisback%2Ffrogo-recycler-view/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amirisback","download_url":"https://codeload.github.com/amirisback/frogo-recycler-view/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230423559,"owners_count":18223435,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android-library","frogo-library","frogo-sdk","frogobox","recyclerview","recyclerview-adapter","recyclerview-library","recyclerview-no-adapter","shimmer","shimmer-android","shimmer-loading","shimmer-recyclerview","without-adapter"],"created_at":"2024-08-01T10:00:33.584Z","updated_at":"2024-12-19T11:12:01.592Z","avatar_url":"https://github.com/amirisback.png","language":"Kotlin","funding_links":["https://github.com/sponsors/amirisback","https://ko-fi.com/amirisback","https://saweria.co/amirisback"],"categories":["Library","Android Library"],"sub_categories":["Frogo Android Library"],"readme":"![ScreenShoot Apps](https://raw.githubusercontent.com/amirisback/amirisback/master/docs/image/deprecated.png?raw=true)\n## DEPRECATED\n- Reason Deprecated, Merge library become single library\n- Please Using This : [deltadox-android](https://github.com/deltadox/deltadox-android)\n##\n\n![App Screenshots](https://raw.githubusercontent.com/amirisback/frogo-recycler-view/master/docs/image/ss_banner.png?raw=true)\n\n## About This Project\n[![Android Arsenal](https://img.shields.io/badge/Android%20Arsenal-frogo--recycler--view-brightgreen.svg?style=flat-square)](https://android-arsenal.com/details/1/8205)\n[![JitPack](https://jitpack.io/v/amirisback/frogo-recycler-view.svg?style=flat-square)](https://jitpack.io/#amirisback/frogo-recycler-view)\n[![Android CI](https://github.com/amirisback/frogo-recycler-view/actions/workflows/android-ci.yml/badge.svg)](https://github.com/amirisback/frogo-recycler-view/actions/workflows/android-ci.yml)\n[![Scan with Detekt](https://github.com/amirisback/frogo-recycler-view/actions/workflows/detekt-analysis.yml/badge.svg)](https://github.com/amirisback/frogo-recycler-view/actions/workflows/detekt-analysis.yml)\n[![Medium Badge](https://img.shields.io/badge/-faisalamircs-black?style=flat-square\u0026logo=Medium\u0026logoColor=white\u0026link=https://medium.com/@faisalamircs)](https://faisalamircs.medium.com/tutorial-recyclerview-cuman-15-detik-dengan-frogorecyclerview-cocok-buat-prototype-untuk-client-ad03b1af907e)\n- Avaliable on Play Store [Click Here](https://play.google.com/store/apps/details?id=com.frogobox.apprecycler)\n- Available on Google Dev Library [Click Here](https://devlibrary.withgoogle.com/products/android/repos/amirisback-frogo-recycler-view)\n- Privacy Policy [Click Here](https://github.com/amirisback/frogo-recycler-view/blob/master/PRIVACY-POLICY.md)\n- LICENSE [Click Here](https://github.com/amirisback/frogo-recycler-view/blob/master/LICENSE)\n- Easy RecyclerView Implementation\n- RecyclerView No Adapter (Adapter Has Been Handled)\n- RecyclerView No Adapter Using ViewBinding Adapter\n- RecyclerView Multi-View-Type (Stable - Multi ViewHolder)\n- Using Kotlin DSL build.gradle.kts\n- Elegant call using injector()\n- Shimmer Effect, Empty View Effect, Nested Recycler View, Progress Recycler View\n- Using Diff Util\n- Flexbox Layout Manager\n- Default Value Of Layout Manager\n\n\u003ca href=\"https://play.google.com/store/apps/details?id=com.frogobox.apprecycler\"\u003e\n  \u003cimg width=\"200px\" height=\"75px\" src=\"https://amirisback.github.io/amirisback/docs/image/google-play-badge.png\"\u003e\n\u003c/a\u003e\n\n## App Screenshots\n\n\u003ctable\u003e\n\n\u003ctr\u003e\n    \u003cth\u003eNested RecyclerView\u003c/th\u003e\n    \u003cth\u003eFrogo Shimmer\u003c/th\u003e\n    \u003cth\u003eFrogo Multi View\u003c/th\u003e\n    \u003cth\u003eSimple Empty View\u003c/th\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n    \u003ctd\u003e\u003cimg width=\"200px\" height=\"360px\" src=\"https://amirisback.github.io/frogo-recycler-view/docs/image/ss_nested_simple.png\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg width=\"200px\" height=\"360px\" src=\"https://amirisback.github.io/frogo-recycler-view/docs/image/sample_shimmer.gif\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg width=\"200px\" height=\"360px\" src=\"https://amirisback.github.io/frogo-recycler-view/docs/image/ss_multi-view.png\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg width=\"200px\" height=\"360px\" src=\"https://amirisback.github.io/frogo-recycler-view/docs/image/ss_empty.png\"\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003c/table\u003e\n\n## Version Release\nThis Is Latest Release\n\n    $version_release = 4.4.2\n\nWhat's New??\n\n    * Enhance Performance *\n    * Update Build Gradle Style Latest Version *\n    * Add Kotlin Ext For RecyclerView *\n\nCompose Tutorial - FrogoRecyclerCompose [Click Here](https://github.com/amirisback/frogo-recycler-view/blob/master/docs/tutorial/FrogoRecyclerCompose.md)\n\n## Download this project\n\n### Step 1. Add the JitPack repository to your build file (build.gradle : Project)\n\n#### \u003cOption 1\u003e Groovy Gradle\n```kotlin\n// Add it in your root build.gradle at the end of repositories:\n\nallprojects {\n    repositories {\n        ...\n        maven { url 'https://jitpack.io' }\n    }\n}\n```\n\n#### \u003cOption 2\u003e Kotlin DSL Gradle\n```kotlin\n// Add it in your root build.gradle.kts at the end of repositories:\n\nallprojects {\n    repositories {\n        ...\n        maven(\"https://jitpack.io\")\n    }\n}\n```\n\n### Step 2. Add the dependency (build.gradle : Module)\n\n#### \u003cOption 1\u003e Groovy Gradle\n```groovy\ndependencies {\n    // library frogo-recycler-view\n    implementation 'com.github.amirisback:frogo-recycler-view:4.4.2'\n}\n```\n\n#### \u003cOption 2\u003e Kotlin DSL Gradle\n```kotlin\ndependencies {\n    // library frogo-recycler-view\n    implementation(\"com.github.amirisback:frogo-recycler-view:4.4.2\")\n}\n```\n\n#### \u003cOption 3\u003e libs.versions.toml\n```yml\n[versions]\nfrogorecyclerview = \"4.4.2\"\n\n[libraries]\nfrogo-recyclerview-api = { group = \"com.github.amirisback\", name = \"frogo-recycler-view\", version.ref = \"frogorecyclerview\" }\n\ndependencies {\n    // library frogo-recyclerview\n    implementation(libs.frogo.recyclerview)\n}\n```\n\n### Step 3. Create xml view\n```xml\n\u003ccom.frogobox.recycler.widget.FrogoRecyclerView\n    android:id=\"@+id/frogo_recycler_view\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"/\u003e\n```\n\n### Step 4. Setup requirement No Adapter (You can choose 1 of the 4 options below)\n\n#### Special Offering RecyclerView Kotlin Ext\n\u003cdetails\u003e\n    \u003csummary\u003eClick for detail!\u003c/summary\u003e\n\n## No Need Change XML to FrogoRecyclerView\n```kotlin\nprivate fun setupRecyclerView(listData: List\u003cArticle\u003e) {\n\n    val adapterCallback = object :\n        IFrogoViewAdapter\u003cArticle\u003e {\n        override fun setupInitComponent(\n            view: View,\n            data: Article,\n            position: Int,\n            notifyListener: FrogoRecyclerNotifyListener\u003cArticle\u003e\n        ) {\n            // Init component content item recyclerview\n            view.findViewById\u003cTextView\u003e(R.id.frogo_rv_list_type_8_tv_title).text = data.title\n            view.findViewById\u003cTextView\u003e(R.id.frogo_rv_list_type_8_tv_subtitle).text = data.description\n            view.findViewById\u003cImageView\u003e(R.id.frogo_rv_list_type_8_civ_poster)\n                .glideLoad(data.urlToImage)\n        }\n\n        override fun onItemClicked(\n            view: View,\n            data: Article,\n            position: Int,\n            notifyListener: FrogoRecyclerNotifyListener\u003cArticle\u003e\n        ) {\n            // setup item clicked on frogo recycler view\n            FLog.d(\"Clicked on Position : $position\")\n            data.title?.let { showToast(it) }\n        }\n\n        override fun onItemLongClicked(\n            view: View,\n            data: Article,\n            position: Int,\n            notifyListener: FrogoRecyclerNotifyListener\u003cArticle\u003e\n        ) {\n            // setup item long clicked on frogo recycler view\n            FLog.d(\"Clicked on Position : $position\")\n        }\n    }\n\n    binding.rv.injector\u003cArticle\u003e()\n        .addData(listData)\n        .addCustomView(R.layout.frogo_rv_list_type_8)\n        .addEmptyView(null)\n        .addCallback(adapterCallback)\n        .createLayoutLinearVertical(false)\n        .build()\n}\n```\n\n\u003c/details\u003e\n\n#### \u003cOption 1\u003e Kotlin Injector (R class)\n\u003cdetails\u003e\n  \u003csummary\u003eClick for detail!\u003c/summary\u003e\n\n```kotlin\nprivate fun setupFrogoRecyclerView() {\n\n    val adapterCallback = object :\n        IFrogoViewAdapter\u003cExampleModel\u003e {\n        override fun setupInitComponent(\n            view: View,\n            data: ExampleModel,\n            position: Int,\n            notifyListener: FrogoRecyclerNotifyListener\u003cExampleModel\u003e\n        ) {\n            // Init component content item recyclerview\n            view.findViewById\u003cTextView\u003e(R.id.frogo_rv_list_type_1_tv_title).text = data.name\n        }\n\n        override fun onItemClicked(\n            view: View,\n            data: ExampleModel,\n            position: Int,\n            notifyListener: FrogoRecyclerNotifyListener\u003cExampleModel\u003e\n        ) {\n            // setup item clicked on frogo recycler view\n            FLog.d(\"Clicked on Position : $position\")\n            showToast(data.name)\n        }\n\n        override fun onItemLongClicked(\n            view: View,\n            data: ExampleModel,\n            position: Int,\n            notifyListener: FrogoRecyclerNotifyListener\u003cExampleModel\u003e\n        ) {\n            // setup item long clicked on frogo recycler view\n            FLog.d(\"Clicked on Position : $position\")\n            showToast(data.name)\n        }\n    }\n\n    binding.frogoRecyclerView\n        .injector\u003cExampleModel\u003e()\n        .addData(listData())\n        .addCustomView(R.layout.frogo_rv_list_type_1)\n        .addEmptyView(null)\n        .addCallback(adapterCallback)\n        .createLayoutLinearVertical(false)\n        .build()\n}\n```\n    \n\u003c/details\u003e\n\n#### \u003cOption 2\u003e Kotlin Injector (ViewBinding) Can't use emptyView\n\u003cdetails\u003e\n  \u003csummary\u003eClick for detail!\u003c/summary\u003e\n    \n```kotlin\nprivate fun setupFrogoRecyclerBinding() {\n\n    val adapterCallback = object : IFrogoBindingAdapter\u003cExampleModel, FrogoRvListType1Binding\u003e {\n        override fun setupInitComponent(\n            binding: FrogoRvListType1Binding,\n            data: ExampleModel,\n            position: Int,\n            notifyListener: FrogoRecyclerNotifyListener\u003cExampleModel\u003e\n        ) {\n            binding.frogoRvListType1TvTitle.text = data.name\n        }\n\n        override fun setViewBinding(parent: ViewGroup): FrogoRvListType1Binding {\n            return FrogoRvListType1Binding.inflate(\n                LayoutInflater.from(parent.context),\n                parent,\n                false\n            )\n        }\n\n        override fun onItemClicked(\n            binding: FrogoRvListType1Binding,\n            data: ExampleModel,\n            position: Int,\n            notifyListener: FrogoRecyclerNotifyListener\u003cExampleModel\u003e\n        ) {\n            // setup item clicked on frogo recycler view\n            FLog.d(\"Clicked on Position : $position\")\n            showToast(data.name)\n        }\n\n        override fun onItemLongClicked(\n            binding: FrogoRvListType1Binding,\n            data: ExampleModel,\n            position: Int,\n            notifyListener: FrogoRecyclerNotifyListener\u003cExampleModel\u003e\n        ) {\n            // setup item long clicked on frogo recycler view\n            FLog.d(\"Clicked on Position : $position\")\n            showToast(data.name)\n        }\n    }\n\n    binding.frogoRecyclerView.injectorBinding\u003cExampleModel, FrogoRvListType1Binding\u003e()\n        .addData(listDataBinding())\n        .addCallback(adapterCallback)\n        .createLayoutLinearVertical(false)\n        .build()\n\n}\n```\n    \n\u003c/details\u003e\n\n\n#### \u003cOption 3\u003e Kotlin Builder (R class)\n\u003cdetails\u003e\n  \u003csummary\u003eClick for detail!\u003c/summary\u003e\n\n```kotlin\nprivate fun setupRvBuilder() {\n   binding.frogoRecyclerView.builder(object : IFrogoBuilderRv\u003cExampleModel\u003e {\n       override fun setupData(): List\u003cExampleModel\u003e {\n           // Setup data FrogoRecyclerView\n           return dataBuilderRClass\n       }\n\n       override fun setupCustomView(): Int {\n           // Setup Custom View\n           return R.layout.frogo_rv_list_type_1\n       }\n\n       override fun setupEmptyView(): Int? {\n           // Setup Empty View\n           return null\n       }\n\n       override fun setupLayoutManager(context: Context): RecyclerView.LayoutManager {\n           // Setup Layout Manager of FrogoRecyclerView\n           return FrogoLayoutManager.linearLayoutVertical(context)\n       }\n\n       override fun setupInitComponent(\n           view: View,\n           data: ExampleModel,\n           position: Int,\n           notifyListener: FrogoRecyclerNotifyListener\u003cExampleModel\u003e\n       ) {\n           // Init component content item recyclerview\n           view.findViewById\u003cTextView\u003e(R.id.frogo_rv_list_type_1_tv_title).text = data.name\n       }\n\n       override fun onItemClicked(\n           view: View,\n           data: ExampleModel,\n           position: Int,\n           notifyListener: FrogoRecyclerNotifyListener\u003cExampleModel\u003e\n       ) {\n           // setup item clicked on frogo recycler view\n           FLog.d(\"Clicked on Position : $position\")\n           showToast(data.name)\n       }\n\n       override fun onItemLongClicked(\n           view: View,\n           data: ExampleModel,\n           position: Int,\n           notifyListener: FrogoRecyclerNotifyListener\u003cExampleModel\u003e\n       ) {\n           // setup item long clicked on frogo recycler view\n           FLog.d(\"Clicked on Position : $position\")\n           showToast(data.name)\n       }\n   })\n}\n```\n    \n\u003c/details\u003e\n\n\n#### \u003cOption 4\u003e Kotlin Builder (ViewBinding)\n\u003cdetails\u003e\n  \u003csummary\u003eClick for detail!\u003c/summary\u003e\n  \n\n```kotlin\nprivate fun setupRvBuilderBinding() {\n    binding.frogoRecyclerView.builderBinding(object :\n        IFrogoBuilderRvBinding\u003cExampleModel, FrogoRvListType1Binding\u003e {\n        override fun setupData(): List\u003cExampleModel\u003e {\n            // Setup data FrogoRecyclerView\n            return dataBuilderBinding\n        }\n\n        override fun setupLayoutManager(context: Context): RecyclerView.LayoutManager {\n            // Setup Layout Manager of FrogoRecyclerView\n            return FrogoLayoutManager.linearLayoutVertical(context)\n        }\n\n        override fun setupInitComponent(\n            binding: FrogoRvListType1Binding,\n            data: ExampleModel,\n            position: Int,\n            notifyListener: FrogoRecyclerNotifyListener\u003cExampleModel\u003e\n        ) {\n            binding.frogoRvListType1TvTitle.text = data.name\n        }\n\n        override fun setViewBinding(parent: ViewGroup): FrogoRvListType1Binding {\n            return FrogoRvListType1Binding.inflate(\n                LayoutInflater.from(parent.context),\n                parent,\n                false\n            )\n        }\n\n        override fun onItemClicked(\n            binding: FrogoRvListType1Binding,\n            data: ExampleModel,\n            position: Int,\n            notifyListener: FrogoRecyclerNotifyListener\u003cExampleModel\u003e\n        ) {\n            // setup item clicked on frogo recycler view\n            FLog.d(\"Clicked on Position : $position\")\n            showToast(data.name)\n        }\n\n        override fun onItemLongClicked(\n            binding: FrogoRvListType1Binding,\n            data: ExampleModel,\n            position: Int,\n            notifyListener: FrogoRecyclerNotifyListener\u003cExampleModel\u003e\n        ) {\n            // setup item long clicked on frogo recycler view\n            FLog.d(\"Clicked on Position : $position\")\n            showToast(data.name)\n        }\n\n    })\n}\n```\n    \n\u003c/details\u003e\n    \n## Sample Tutorial\n- FrogoRecyclerView [Click Here](https://github.com/amirisback/frogo-recycler-view/blob/master/docs/tutorial/FrogoRecyclerView.md)\n- FrogoShimmerRecyclerView [Click Here](https://github.com/amirisback/frogo-recycler-view/blob/master/docs/tutorial/FrogoShimmerRecyclerView.md)\n- FrogoNestedRecyclerView [Click Here](https://github.com/amirisback/frogo-recycler-view/blob/master/docs/tutorial/FrogoNestedRecyclerView.md)\n- FrogoProgressRecyclerView [Click Here](https://github.com/amirisback/frogo-recycler-view/blob/master/docs/tutorial/FrogoProgressRecyclerView.md)\n- FrogoRecyclerView Multi Holder [Click Here](https://github.com/amirisback/frogo-recycler-view/blob/master/docs/tutorial/FrogoRecyclerViewMultiHolder.md)\n- FrogoRecyclerCompose [Click Here](https://github.com/amirisback/frogo-recycler-view/blob/master/docs/tutorial/FrogoRecyclerCompose.md)    \n\n##  Alert\n\n### Big Update :\n    ================================================================================================\n    \u003e\u003e on Version 4.0.0\n    - Every listener can get view/binding, position, and notify item change on Adapter\n    - FrogoRecyclerView can notify item changed\n    ================================================================================================\n\n### Cautions :\n    \u003e\u003e under Version 3.0.1\n    - Please implement library [frogo-ui-kit](https://github.com/amirisback/frogo-ui-kit) in your project\n    - We separating resource ui for better maintenance\n\n    \u003e\u003e on Version 3.2.0\n    - If you use version under 3.2.0 you must pay attenttion to package import\n    - Please re-import package\n    - Package name [base, parent, boilerplate] updated to core\n\n    \u003e\u003e on Version 3.3.0 up\n    - If you use version under 3.3.0 you must pay attenttion to package import\n    - Please re-import package\n    - Package name [base, parent, boilerplate] updated to core\n    - No more package name [viewrclass, viewbinding, viewshimmer] all in core\n\n### Update :\n    \u003e\u003e on Version 3.2.0\n    from -\u003e import com.frogobox.recycler.boilerplate.viewrclass.FrogoViewAdapterCallback\n    to -\u003e import com.frogobox.recycler.core.viewrclass.FrogoViewAdapterCallback\n\n    \u003e\u003e on Version 3.3.0 up\n    from -\u003e import com.frogobox.recycler.core.viewrclass.FrogoViewAdapterCallback\n    to -\u003e import com.frogobox.recycler.core.IFrogoViewAdapter\n\n    \u003e\u003e on Version 3.3.0 up\n    from -\u003e FrogoViewAdapterCallback\n    to -\u003e IFrogoViewAdapter\n\n### Wiki\n- Development Planning [Click Here](https://github.com/amirisback/frogo-recycler-view/wiki/Development-Planning)\n    \n\n### Library Helper\n- frogo-android-ui-kit [Click Here](https://github.com/frogobox/frogo-android-ui-kit)\n- frogo-log [Click Here](https://github.com/amirisback/frogo-log)\n- frogo-consume-api [Click Here](https://github.com/frogobox/frogo-consume-api)\n\n## Colaborator\nVery open to anyone, I'll write your name under this, please contribute by sending an email to me\n\n- Mail To faisalamircs@gmail.com\n- Subject : Github _ [Github-Username-Account] _ [Language] _ [Repository-Name]\n- Example : Github_amirisback_kotlin_admob-helper-implementation\n\nName Of Contribute\n- Muhammad Faisal Amir\n- Waiting List\n- Waiting List\n\nWaiting for your contribute\n\n## Insipiration\n- Nested-RecyclerView ( [Jeffrey Liu](https://github.com/jeffreyliu8) - [Project](https://github.com/jeffreyliu8/Nested-RecyclerView) )\n\n## Attention !!!\n- Please enjoy and don't forget fork and give a star\n- Don't Forget Follow My Github Account\n\n![App Screenshots](https://amirisback.github.io/frogo-recycler-view/docs/image/mad_score.png?raw=true)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famirisback%2Ffrogo-recycler-view","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famirisback%2Ffrogo-recycler-view","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famirisback%2Ffrogo-recycler-view/lists"}