source code link, app flow architecture, In MainActivity I have 2 edit text and one textView. In 2nd Activity I have a viewpager image slider. 3rd activity I ceated recyclerview that contains 3 items. null receive debug image link,
I wanna pass those three datas (from MainActivity) to 3rd activity Recyclerview items.
ThirdActivity.kt
class ThirdActivity : AppCompatActivity() {
private var binding: ActivityThirdBinding? = null
var editText1 = ""
var editText2 = ""
var textView1 = ""
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityThirdBinding.inflate(layoutInflater)
val view = binding?.root
setContentView(view)
setAdapter()
val sharedPreferences: SharedPreferences =
getSharedPreferences("MySharedPref", MODE_PRIVATE)
editText1 = sharedPreferences.getString("editText1", "").toString()
editText2 = sharedPreferences.getString("editText2", "").toString()
textView1 = sharedPreferences.getString("textView1", "").toString()
}
private fun setAdapter() {
val listAdapter = RecyclerViewAdapter(textList())
binding?.rvRecyclerView?.adapter = listAdapter
binding?.rvRecyclerView?.layoutManager = LinearLayoutManager(this)
}
private fun textList(): ArrayList<MyData> {
return arrayListOf(
MyData(
text = editText1
),
MyData(
editText2
),
MyData(
textView1
)
)
}
}
RecyclerviewAdapter.kt
class RecyclerViewAdapter(private val list: ArrayList<MyData>) :
RecyclerView.Adapter<RecyclerViewAdapter.ViewHolder>() {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val view =
LayoutInflater.from(parent.context).inflate(R.layout.item_list_layout, parent, false)
return ViewHolder(view)
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val model = list[position]
holder.textView.text = model.text
}
override fun getItemCount(): Int {
return list.size
}
class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
var textView: TextView = itemView.findViewById(R.id.tvTextOne)
}