
listviewAdapter.kt
-------------------
class listviewAdapter(val context: Context, val accountList: ArrayList<account>) : BaseAdapter() {
override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View {
val uid = view.findViewById<TextView>(R.id.uid)
uid.text = account.uid.toString()
modify_delete.setOnClickListener {
var pop = PopupMenu(context, modify_delete)
pop.menuInflater.inflate(R.menu.main_popup, pop.menu)
pop.setOnMenuItemClickListener { item ->
when (item.itemId) {
R.id.modify ->
Toast.makeText(context, "Modify ${uid.text}", Toast.LENGTH_SHORT).show()
R.id.delete ->
Toast.makeText(context, "Delete ${uid.text}", Toast.LENGTH_SHORT).show()
}
false
}
pop.show()
}
return view
}
}
homefragment.kt
-----------------
class HomeFragment : Fragment(), View.OnClickListener {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
var listviewAdapter = listviewAdapter(mainActivity, accountList)
var listView = view.findViewById<ListView>(R.id.listView)
listView.adapter = listviewAdapter
reloadListView()
val serverAdd = view.findViewById<Button>(R.id.serverAdd)
serverAdd.setOnClickListener(this)
dialog = ServerAddDialog(mainActivity,onOK={
listviewAdapter.clearData()
reloadListView()
//listviewAdapter = listviewAdapter(mainActivity, accountList)
listviewAdapter.notifyDataSetChanged()
}) {} as ServerAddDialog
}
스샷에 점3개를 클릭하면 popup 메뉴가나와 popup메뉴를 클릭하면 homefragment 에서 다이얼로그를 나오게 구현하고싶습니다.
그런데 어댑터에서 pop.setOnMenuItemClickListener 리스너를 걸고 처리를 할려고햇더니 뭘할수가없네요;;
다이얼로그도 못띄우고 다른작업자체를 못합니다. 어떻게해야되나요?