Handle recyclerview touches and add single app activity

This commit is contained in:
2020-05-17 06:00:18 +03:00
parent 6baa26648f
commit 50957abeca
5 changed files with 142 additions and 1 deletions
@@ -5,7 +5,6 @@ import android.os.Bundle
import android.view.View
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.illusionware.npsbrowser.AppData
@@ -31,6 +30,20 @@ class AppsListActivity : AppCompatActivity() {
recyclerView.apply {
layoutManager = LinearLayoutManager(applicationContext)
adapter = viewAdapter
recyclerView.addOnItemTouchListener(RecyclerTouchListener(applicationContext, recyclerView, object : RecyclerTouchListener.ClickListener {
override fun onClick(view: View?, position: Int) {
val myIntent = Intent(context, SingleAppActivity::class.java)
SingleAppActivity.app = apps[position]
startActivity(myIntent)
}
override fun onLongClick(view: View?, recyclerView: RecyclerView?, position: Int) {
Toast.makeText(applicationContext, "TODO: Long Click ", Toast.LENGTH_SHORT).show()
}
}
))
}
}
}
@@ -0,0 +1,20 @@
package com.illusionware.npsbrowser.activities
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import com.illusionware.npsbrowser.AppData
import com.illusionware.npsbrowser.databinding.ActivitySingleGameBinding
class SingleAppActivity: AppCompatActivity() {
companion object {
lateinit var app : AppData
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val binding = ActivitySingleGameBinding.inflate(layoutInflater);
setContentView(binding.root)
binding.titleID.text = app.TitleID
binding.gameTitle.text = app.Title;
}
}