From 73338ecc0d2fe4870e5d57e910fb8089a81819c9 Mon Sep 17 00:00:00 2001 From: Evan Dorsey Date: Thu, 19 Oct 2023 14:52:16 -0400 Subject: [PATCH 1/3] Added an instance of ImageDisplayFragment using factory method. Also added the supportFragmentManager and the fragmentContainerView in activity_main --- .idea/deploymentTargetDropDown.xml | 17 +++++++++++++++++ .idea/misc.xml | 1 - .../edu/temple/inclassactivity/MainActivity.kt | 5 +++++ app/src/main/res/layout/activity_main.xml | 9 +++++++++ 4 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 .idea/deploymentTargetDropDown.xml diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml new file mode 100644 index 0000000..3b1189d --- /dev/null +++ b/.idea/deploymentTargetDropDown.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 0ad17cb..8978d23 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,4 +1,3 @@ - diff --git a/app/src/main/java/edu/temple/inclassactivity/MainActivity.kt b/app/src/main/java/edu/temple/inclassactivity/MainActivity.kt index 85bef74..d4b34cc 100644 --- a/app/src/main/java/edu/temple/inclassactivity/MainActivity.kt +++ b/app/src/main/java/edu/temple/inclassactivity/MainActivity.kt @@ -14,6 +14,11 @@ class MainActivity : AppCompatActivity() { typedArray.recycle() // Attach an instance of ImageDisplayFragment using factory method + val fragment = ImageDisplayFragment.newInstance(imageArray) + + supportFragmentManager.beginTransaction().add(R.id.fragmentContainerView, fragment).commit() + + } } \ 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..b355e62 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -5,4 +5,13 @@ android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> + + \ No newline at end of file From e30abb22118bdd4445ecc509b1194a0e14e99999 Mon Sep 17 00:00:00 2001 From: Evan Dorsey Date: Tue, 24 Oct 2023 15:25:33 -0400 Subject: [PATCH 2/3] Finished up the steps from class on Tuesday --- .../inclassactivity/ImageDisplayFragment.kt | 14 ++++++- .../temple/inclassactivity/MainActivity.kt | 41 ++++++++++++++++++- app/src/main/res/layout/activity_main.xml | 1 + 3 files changed, 53 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/edu/temple/inclassactivity/ImageDisplayFragment.kt b/app/src/main/java/edu/temple/inclassactivity/ImageDisplayFragment.kt index 4d09c5b..1a838d1 100644 --- a/app/src/main/java/edu/temple/inclassactivity/ImageDisplayFragment.kt +++ b/app/src/main/java/edu/temple/inclassactivity/ImageDisplayFragment.kt @@ -18,6 +18,16 @@ class ImageDisplayFragment : Fragment() { private lateinit var images: IntArray + + + + + + + + + + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) // If we have arguments @@ -40,7 +50,9 @@ 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) + if (::images.isInitialized) { + adapter = CustomRecyclerAdapter(images) + } 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 d4b34cc..8a8403d 100644 --- a/app/src/main/java/edu/temple/inclassactivity/MainActivity.kt +++ b/app/src/main/java/edu/temple/inclassactivity/MainActivity.kt @@ -2,23 +2,60 @@ package edu.temple.inclassactivity import androidx.appcompat.app.AppCompatActivity import android.os.Bundle +import android.widget.Toast +import androidx.recyclerview.widget.RecyclerView +import androidx.lifecycle.ViewModelProvider as ViewModelProvider +import androidx.lifecycle.ViewModelProvider as ViewModelProvider1 class MainActivity : AppCompatActivity() { + + lateinit var someVar : Array + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) + + //if(::someVar.isInitialized) + + + //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 - val fragment = ImageDisplayFragment.newInstance(imageArray) + //val fragment = ImageDisplayFragment.newInstance(imageArray) +// + + if (supportFragmentManager.findFragmentById(R.id.fragmentContainerView) !is ImageDisplayFragment) { + supportFragmentManager + .beginTransaction() + .add(R.id.fragmentContainerView, ImageDisplayFragment()) + .addToBackStack(null) + .setReorderingAllowed(true) + .commit() + } + + + - supportFragmentManager.beginTransaction().add(R.id.fragmentContainerView, fragment).commit() } + + fun imageSelected(itemId : Int){ + Toast.makeText(this,"You selected $itemId", Toast.LENGTH_SHORT).show() + } + +// fun setImages(_images : IntArray){ +// images = _images +// +// (view as RecyclerView).adapter = CustomRecyclerAdapter(images) +// } + } \ 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 b355e62..0f0975d 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -8,6 +8,7 @@ Date: Thu, 26 Oct 2023 14:41:02 -0400 Subject: [PATCH 3/3] Did the steps from beginning of Thursday's class --- .../inclassactivity/ImageDisplayFragment.kt | 10 ++----- .../temple/inclassactivity/MainActivity.kt | 29 ++++++++++++++----- app/src/main/res/layout/activity_main.xml | 18 ++++++++++-- 3 files changed, 39 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/edu/temple/inclassactivity/ImageDisplayFragment.kt b/app/src/main/java/edu/temple/inclassactivity/ImageDisplayFragment.kt index 1a838d1..f116bf7 100644 --- a/app/src/main/java/edu/temple/inclassactivity/ImageDisplayFragment.kt +++ b/app/src/main/java/edu/temple/inclassactivity/ImageDisplayFragment.kt @@ -19,13 +19,9 @@ class ImageDisplayFragment : Fragment() { private lateinit var images: IntArray - - - - - - - + fun setImages(_images : IntArray){ + images = _images + } override fun onCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/edu/temple/inclassactivity/MainActivity.kt b/app/src/main/java/edu/temple/inclassactivity/MainActivity.kt index 8a8403d..dd5a026 100644 --- a/app/src/main/java/edu/temple/inclassactivity/MainActivity.kt +++ b/app/src/main/java/edu/temple/inclassactivity/MainActivity.kt @@ -2,6 +2,8 @@ package edu.temple.inclassactivity import androidx.appcompat.app.AppCompatActivity import android.os.Bundle +import android.view.View +import android.widget.Button import android.widget.Toast import androidx.recyclerview.widget.RecyclerView import androidx.lifecycle.ViewModelProvider as ViewModelProvider @@ -27,18 +29,29 @@ class MainActivity : AppCompatActivity() { val imageArray = IntArray(typedArray.length()) {typedArray.getResourceId(it, 0)} typedArray.recycle() + val myButton = findViewById