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