Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 对话框活动-添加按钮单击侦听器_Android_Android Activity_Android Dialog - Fatal编程技术网

Android 对话框活动-添加按钮单击侦听器

Android 对话框活动-添加按钮单击侦听器,android,android-activity,android-dialog,Android,Android Activity,Android Dialog,我正在尝试创建一个可以像对话框一样使用的活动。 我的活动有一个对话主题,所以它有对话的感觉。 在我的布局中,我添加了一个文本视图来显示消息,以及三个按钮(正、负、中性)。将要显示的文本消息作为额外消息传递给INTERT。按钮名称也是如此。我隐藏了一个按钮,它在intent extras中传递了一个空字符串。这几乎实现了dialog的行为,只是我不知道如何实现按钮单击侦听器 有什么想法吗?如果您在XML文件中有布局,您可以为按钮添加类似于onClick=“onMyButtonClick”的内容,那

我正在尝试创建一个可以像对话框一样使用的活动。 我的活动有一个对话主题,所以它有对话的感觉。 在我的布局中,我添加了一个文本视图来显示消息,以及三个按钮(正、负、中性)。将要显示的文本消息作为额外消息传递给INTERT。按钮名称也是如此。我隐藏了一个按钮,它在intent extras中传递了一个空字符串。这几乎实现了dialog的行为,只是我不知道如何实现按钮单击侦听器


有什么想法吗?

如果您在XML文件中有布局,您可以为按钮添加类似于
onClick=“onMyButtonClick”
的内容,那么在代码中您应该有

public void onMyButtonClick(View sender) { ... }
或者,您可以在
onCreate()中使用

我想您可能想从某个地方的onCLickListener调用
finish()
,也许可以与
setResult()

一起调用,这非常简单: 您应该通过
startActivityForResult(Intent,requestCode)启动对话框
和重写activityResult(int-requestCode、int-resultCode、Intent-data)方法,以获得对话框活动的结果


每个对话框按钮都必须调用
setResult()
,然后完成它。如果您传递了resultCode和数据,您将返回到方法onActivityResult中的主活动。

这确实会解决我的问题,但为此,我需要从另一个活动中调用对话活动。你看,我的问题是我没有活动上下文。你计划如何启动活动,你想在哪里处理单击?我有应用程序上下文,我可以从中启动活动。我希望能够从调用活动的位置处理单击,而不需要是一个合适的clicklistener,只是基于单击的按钮的某种回调。
Button myButton = (Button)findViewById(R.id.my_button);
myButton.setOnClickListener(new OnClickListener() { ... });