- Forum-Beiträge: 602
21.11.2021, 21:09:47 via Website
21.11.2021 21:09:47 via Website
Hallo zusammen
Ich möchte aus meinem Adapter
package ch.robbisoft.klassennotfall
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.BaseAdapter
import android.widget.TextView
import android.widget.Toast
import android.content.DialogInterface
import androidx.fragment.app.FragmentManager
class TelAdapter(context: Context) : BaseAdapter(), DialogInterface.OnClickListener {
private val inflater = LayoutInflater.from(context)
private val ctx = context
public var counter : Int = 0
public var nliste = arrayListOf<Person>()
private lateinit var dialog: DialogFrag
override fun getCount(): Int {
return counter
}
override fun getItem(position: Int): Any {
return nliste[position]
}
override fun getItemId(position: Int): Long {
return position.toLong()
}
override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View {
val view : View
if (convertView != null) {
view = convertView
}else{
view = inflater.inflate(R.layout.klass_list, parent, false)
}
val persdat = nliste[position]
val obj_name = view.findViewById<TextView>(R.id.txt_klassname)
val obj_mutter = view.findViewById<TextView>(R.id.txt_klassmutter)
val obj_vater = view.findViewById<TextView>(R.id.txt_klassvater)
val obj_allg = view.findViewById<TextView>(R.id.txt_klassallgemein)
obj_name.text = persdat.pname
obj_mutter.text = persdat.telmutter
obj_vater.text = persdat.telvater
obj_allg.text = persdat.telalg
obj_name.setOnClickListener {
Toast.makeText(ctx, "Das ist der Name " + persdat.pname, Toast.LENGTH_LONG).show()
}
obj_mutter.setOnClickListener {
Toast.makeText(ctx, "Das ist die Mutter", Toast.LENGTH_LONG).show()
}
obj_vater.setOnClickListener {
Toast.makeText(ctx, "Das ist der Vater", Toast.LENGTH_LONG).show()
}
obj_allg.setOnClickListener {
Toast.makeText(ctx, "Das ist das Allgemeine", Toast.LENGTH_LONG).show()
}
obj_name.setOnLongClickListener {
dialog = DialogFrag()
dialog.show(supportFragmentManager, DialogFrag.TAG)
true
}
obj_mutter.setOnLongClickListener {
Toast.makeText(ctx, "langer klick", Toast.LENGTH_LONG).show()
true
}
obj_vater.setOnLongClickListener {
Toast.makeText(ctx, "langer klick", Toast.LENGTH_LONG).show()
true
}
obj_allg.setOnLongClickListener {
Toast.makeText(ctx, "langer klick", Toast.LENGTH_LONG).show()
true
}
return view
}
override fun onClick(p0: DialogInterface?, p1: Int) {
TODO("Not yet implemented")
}
}
einen Dialog aufrufen.
Aber ich bleibe in der folgenden Zeile hängen
dialog.show(supportFragmentManager, DialogFrag.TAG)
Den "supportFragmentManager" will er nicht kennen. Dazu benötige ich die Klasse AppCompatActivity. Kann ich mein Adapter von der Klasse ableiten oder wie komme ich zu meinem Fragmentmanager?
Gruss Renato