'getStringExtra() not working in Adapter Class
I am trying to get the pass the current user data into the this adapter class. However, I failed to use the getStringExtra() where it keep mentions that the getStringExtra() is an resolved reference. why?
class ItemAdapter(
//private var gList:List<GoalList> = ArrayList(),
private var iList: ArrayList<ItemList> = ArrayList(),
private val context: Context
) : RecyclerView.Adapter<ItemAdapter.MyViewHolder>(){
private var connection : Connection? = null
private var statement : Statement? = null
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyViewHolder {
val v: View = LayoutInflater.from(parent.context).inflate(R.layout.activity_item_list, parent, false)
return MyViewHolder(v)
}
override fun getItemCount(): Int {
return iList.size
}
override fun onBindViewHolder(holder: MyViewHolder, position: Int) {
val list = iList[position]
holder.category.text = list.iCategory
holder.exAmount.text = list.iAmount.toString()
holder.eDate.text = list.iDate
holder.eNote.text = list.iNote
val sqlCon = SQLCon()
connection = sqlCon.connectionClass()!!
holder.delete.setOnClickListener {
try
{
val sql : String= "DELETE FROM Expenses where Category = '${list.iCategory}' "
statement = connection!!.createStatement()
statement!!.executeUpdate(sql)
}
catch (e : Exception)
{ }
}
holder.update.setOnClickListener(object : View.OnClickListener
{
override fun onClick(view: View?) {
val intent = Intent(view!!.context, EditExpensesActivity::class.java)
//var currentUser = view!!.context.getIntent().getStringExtra("Logged In User")
intent.putExtra("CurrentUser", currentUser)
intent.putExtra("eCategory", holder.category.text)
intent.putExtra("eAmount", holder.exAmount.text)
intent.putExtra("eNote", holder.eNote.text)
view.context.startActivity(intent)
}
})
}
Solution 1:[1]
override fun onBindViewHolder(holder: MyViewHolder, position: Int,intent:Intent) {
val list = iList[position]
holder.category.text = list.iCategory
holder.exAmount.text = list.iAmount.toString()
holder.eDate.text = list.iDate
holder.eNote.text = list.iNote
val sqlCon = SQLCon()
connection = sqlCon.connectionClass()!!
holder.delete.setOnClickListener {
try
{
val sql : String= "DELETE FROM Expenses where Category = '${list.iCategory}' "
statement = connection!!.createStatement()
statement!!.executeUpdate(sql)
}
catch (e : Exception)
{ }
}
holder.update.setOnClickListener(object : View.OnClickListener
{
override fun onClick(view: View?) {
val intent = Intent(view!!.context, EditExpensesActivity::class.java)
var currentUser = intent.getStrinExtra("Logged In User")
intent.putExtra("CurrentUser", currentUser)
intent.putExtra("eCategory", holder.category.text)
intent.putExtra("eAmount", holder.exAmount.text)
intent.putExtra("eNote", holder.eNote.text)
view.context.startActivity(intent)
}
})
}
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Ă–mer Seyfettin Yavuzyi?it |
