android message 传字符串,android - 将参数传递给DialogFragment

只是我想展示如何在Kotlin中为@JafarKhQ做些什么,以便那些使用kotlin可以帮助他们并节省主题时间的人:

所以你必须创建一个伴随对象来创建新的newInstance函数

你可以随意设置函数的参数。运用

val args = Bundle()

你可以设置你的args。

您现在可以使用arguments.getSomthing(Key:String)添加您在newInstance函数中作为参数的args。  arguments.getString("1")以添加字符串为例,依此类推

现在来获取你可以使用的参数arguments.getSomthing(Key:String)=> 像arguments.getString("1")

这是一个完整的例子

class IntervModifFragment : DialogFragment(), ModContract.View

{

companion object {

fun newInstance( plom:String,type:String,position: Int):IntervModifFragment {

val fragment =IntervModifFragment()

val args = Bundle()

args.putString( "1",plom)

args.putString("2",type)

args.putInt("3",position)

fragment.arguments = args

return fragment

}

}

...

override fun onViewCreated(view: View?, savedInstanceState: Bundle?) {

super.onViewCreated(view, savedInstanceState)

fillSpinerPlom(view,arguments.getString("1"))

fillSpinerType(view, arguments.getString("2"))

confirmer_virme.setOnClickListener({on_confirmClick( arguments.getInt("3"))})

val dateSetListener = object : DatePickerDialog.OnDateSetListener {

override fun onDateSet(view: DatePicker, year: Int, monthOfYear: Int,

dayOfMonth: Int) {

val datep= DateT(year,monthOfYear,dayOfMonth)

updateDateInView(datep.date)

}

}

}

...

}

现在如何创建对话框,你可以在另一个类中做这样的事情

val dialog = IntervModifFragment.newInstance(ListInter.list[position].plom,ListInter.list[position].type,position)

比如这样

class InterListAdapter(private val context: Context, linkedList: LinkedList ) : RecyclerView.Adapter()

{

...

override fun onBindViewHolder(holder: ViewHolder, position: Int) {

...

holder.btn_update!!.setOnClickListener {

val dialog = IntervModifFragment.newInstance(ListInter.list[position].plom,ListInter.list[position].type,position)

val ft = (context as AppCompatActivity).supportFragmentManager.beginTransaction()

dialog.show(ft, ContentValues.TAG)

}

...

}

..

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值