diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/edu/temple/inclassactivity/ImageDisplayFragment.kt b/app/src/main/java/edu/temple/inclassactivity/ImageDisplayFragment.kt
index 4d09c5b..e0bdb25 100644
--- a/app/src/main/java/edu/temple/inclassactivity/ImageDisplayFragment.kt
+++ b/app/src/main/java/edu/temple/inclassactivity/ImageDisplayFragment.kt
@@ -9,6 +9,7 @@ import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
+import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.RecyclerView
@@ -18,6 +19,10 @@ class ImageDisplayFragment : Fragment() {
private lateinit var images: IntArray
+ private val mainViewModel : MainViewModel by lazy{
+ ViewModelProvider(requireActivity())[MainViewModel::class.java]
+ }
+
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// If we have arguments
@@ -40,7 +45,10 @@ class ImageDisplayFragment : Fragment() {
// The recycler view is the root element of the Fragment's layout
// as such the view argument passed to onViewCreated() is the RecyclerView
with (view as RecyclerView) {
- adapter = CustomRecyclerAdapter(images)
+ mainViewModel.getImageIds().observe(requireActivity()){
+ adapter = CustomRecyclerAdapter(it)
+ }
+
layoutManager = GridLayoutManager(requireContext(), 2)
}
}
diff --git a/app/src/main/java/edu/temple/inclassactivity/MainActivity.kt b/app/src/main/java/edu/temple/inclassactivity/MainActivity.kt
index 85bef74..7bf7632 100644
--- a/app/src/main/java/edu/temple/inclassactivity/MainActivity.kt
+++ b/app/src/main/java/edu/temple/inclassactivity/MainActivity.kt
@@ -2,18 +2,26 @@ package edu.temple.inclassactivity
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
+import androidx.lifecycle.ViewModelProvider
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
+ val mainViewModel = ViewModelProvider(this)[MainViewModel::class.java]
+
// Fetch images into IntArray called imageArray
val typedArray = resources.obtainTypedArray(R.array.image_ids)
val imageArray = IntArray(typedArray.length()) {typedArray.getResourceId(it, 0)}
typedArray.recycle()
- // Attach an instance of ImageDisplayFragment using factory method
+ mainViewModel.setImageIds(imageArray)
+ // Attach an instance of ImageDisplayFragment using factory method
+ //val fragment = ImageDisplayFragment.newInstance(imageArray)
+ val fragmentT = supportFragmentManager.beginTransaction()
+ fragmentT.add(R.id.fragmentContainerView, ImageDisplayFragment())
+ fragmentT.commit()
}
}
\ No newline at end of file
diff --git a/app/src/main/java/edu/temple/inclassactivity/MainViewModel.kt b/app/src/main/java/edu/temple/inclassactivity/MainViewModel.kt
new file mode 100644
index 0000000..6d19915
--- /dev/null
+++ b/app/src/main/java/edu/temple/inclassactivity/MainViewModel.kt
@@ -0,0 +1,20 @@
+package edu.temple.inclassactivity
+
+import androidx.lifecycle.LiveData
+import androidx.lifecycle.MutableLiveData
+import androidx.lifecycle.ViewModel
+
+class MainViewModel: ViewModel() {
+ private val imageIds = MutableLiveData()
+
+
+ fun setImageIds(imageIds: IntArray){
+ this.imageIds.value = imageIds
+ }
+
+ fun getImageIds(): LiveData{
+ return imageIds
+ }
+
+
+}
\ 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 d548e41..592bc13 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -5,4 +5,14 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
+
+
\ No newline at end of file