如何将数据从对话框发送到我的活动Kotlin?

安德鲁

我在应用程序对话框中将数据发送到主机活动。在Java中,我必须通过此对话框实现接口,并且一切正常。在Kotlin,我看到我的听众始终没有被呼叫。在我的对话框中,有两个按钮可以调用活动类:

okFilter.setOnClickListener(view1 -> {
            dismiss();
            Intent intent = new Intent(getContext(), HomeScreen.class);
            intent.putExtra("filter_data",data);
            intent.putExtra("id",4);
            startActivity(intent);
        });

而且我还有界面:

public interface OnButtonClick {
        void onDialogClickListener(Integer job_type, HashMap<String, String> filter_data);
    }

onDialogClickListener无论如何都没有使用:(然后,我在托管活动中实现了此接口:

override fun onDialogClickListener(job_type: Int?, filter_data: java.util.HashMap<String, String>?) {

        bottom_navigation_t.selectedItemId = R.id.full_jobAgent
        val jobList = JobList()
        val bundle = Bundle()
        bundle.putInt("offset", 1)
        bundle.putSerializable("filter_data", data)
        jobList.arguments = bundle
        transaction.replace(R.id.contentContainerT, jobList).addToBackStack(null).commit()
    }

它不起作用。这个乐趣没有被调用,我只捕获意图数据。在Java中有效,我做错了什么?

哈莎德(Harshad Prajapati)

尝试这个

在活动中实现您的界面。

class MainActivity : AppCompatActivity(), OnButtonClick {

override fun onDialogClickListener(job_type: Int,filter_data: HashMap<String, String>) {
    Log.e("MainActivity ",job_type+"")
    Log.e("MainActivity ",filter_data+"")
  }

}

而且,如果您正在使用对话框片段,则只需给上下文中的接口对象指定上下文即可onAttach

class CustomDialog: DialogFragment() {
     var listener: OnButtonClick ? = null

    override fun onAttach(context: Context) {
        super.onAttach(context)
        listener = context as OnButtonClick
    }

override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
        val view: View =
            activity!!.layoutInflater.inflate(R.layout.your_dialog_view, container, false)

        view.button!!.setOnClickListener {
            listener!!.onDialogClickListener(your_job_type, your_map)
        }
        return view
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将活动中的BroadcastReceiver数据发送到对话框中

将数据发送到对话框

如何将信息从对话框发送到Android电子邮件

角度材料对话框-将数据发送到对话框

如何将数据从Java服务类发送到Kotlin活动类?

如何将数据从活动发送到Java类

如何将数据从片段发送到活动?

将数据从对话框组件发送到其他组件(角度6)

如何将启动画面活动中获取的数据发送到Kotlin中的其他活动?

如何将数据从返回活动传递到先前活动中的对话框?

如何将Facebook分享对话框集成到我的网站?

将数据发送到我的母版页

在将ajax请求发送到服务器之前,如何实现确认对话框/框?

如何将请求永久发送到我的http服务器

如何将推文发送到我的Twitter帐户?

如何将哈希表发送到我的客户插座?

如何将事件发送到我的(子)UIView?

如何将项目添加到我的“发送到”上下文菜单

如何将时间值从Postman发送到我的REST API

如何将多个参数作为单个实体从jquery发送到我的Controller?

如何将2个对象发送到我的API(ASP.NET)?

如何将nagios警报通过电子邮件发送到我的gmail?

RoborFramework:如何将标签名称发送到我的关键字中

如何将int数组发送到我的着色器

如何将值从 html 中的按钮组发送到我的 php 代码?

如何将参数中的Id发送到我的服务器?

如何将控制台输出发送到我的电子邮件?

如何将OTP从服务器发送到我的android应用程序?

如何将测试结果作为参数发送到我的 python 脚本?