diff --git a/app/build.gradle b/app/build.gradle index 1735c7c..9f405f9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -38,6 +38,7 @@ dependencies { implementation 'androidx.appcompat:appcompat:1.3.1' implementation 'com.google.android.material:material:1.4.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.0' + implementation 'androidx.recyclerview:recyclerview:1.2.1' testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test.ext:junit:1.1.3' androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' diff --git a/app/src/main/java/com/causa_arcana/ArticlesListRecyclerViewAdapter.kt b/app/src/main/java/com/causa_arcana/ArticlesListRecyclerViewAdapter.kt new file mode 100644 index 0000000..c8f4367 --- /dev/null +++ b/app/src/main/java/com/causa_arcana/ArticlesListRecyclerViewAdapter.kt @@ -0,0 +1,39 @@ +package com.causa_arcana + +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView + +class ArticlesListRecyclerViewAdapter: + RecyclerView.Adapter() +{ + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { + return ViewHolder( + LayoutInflater.from(parent.context) + .inflate(R.layout.rvitem_article_card, parent, false), + ) + } + + override fun onBindViewHolder(holder: ViewHolder, position: Int) { + holder.titleTextView?.text = when (position) { + 0 -> "Foo" + 1 -> "Bar" + 2 -> "Car" + else -> null + } + } + + override fun getItemCount(): Int { + return 3 + } + + class ViewHolder(itemView: View): RecyclerView.ViewHolder(itemView) { + var titleTextView: TextView? = null + + init { + titleTextView = itemView.findViewById(R.id.rvitem_article_card__title_text_view) + } + } +} diff --git a/app/src/main/java/com/causa_arcana/MainActivity.kt b/app/src/main/java/com/causa_arcana/MainActivity.kt index f681b16..9b8db2d 100644 --- a/app/src/main/java/com/causa_arcana/MainActivity.kt +++ b/app/src/main/java/com/causa_arcana/MainActivity.kt @@ -2,10 +2,17 @@ package com.causa_arcana import androidx.appcompat.app.AppCompatActivity import android.os.Bundle +import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.RecyclerView class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) + + val articlesListRecyclerView: RecyclerView = + findViewById(R.id.activity_main__articles_list_rv) + articlesListRecyclerView.layoutManager = LinearLayoutManager(this) + articlesListRecyclerView.adapter = ArticlesListRecyclerViewAdapter() } -} \ No newline at end of file +} diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index faae9c9..070d1ed 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -6,4 +6,15 @@ android:layout_height="match_parent" tools:context=".MainActivity"> + + + diff --git a/app/src/main/res/layout/rvitem_article_card.xml b/app/src/main/res/layout/rvitem_article_card.xml new file mode 100644 index 0000000..59e49ab --- /dev/null +++ b/app/src/main/res/layout/rvitem_article_card.xml @@ -0,0 +1,14 @@ + + + + + +