3

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

有任何想法吗?

4

2 回答 2

1

这很简单:您应该通过startActivityForResult(Intent, requestCode); 并覆盖方法 onActivityResult(int requestCode, int resultCode, Intent data) 开始对话以获取对话活动的结果。

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

于 2011-11-24T06:44:00.957 回答
1

如果你在 XML 文件中有你的布局,你可以onClick="onMyButtonClick"为你的按钮添加类似的东西,然后在代码中你应该有

public void onMyButtonClick(View sender) { ... }

或者,您可以在您的onCreate()

Button myButton = (Button)findViewById(R.id.my_button);
myButton.setOnClickListener(new OnClickListener() { ... });

我想你会想在finish()某个地方从你的 onCLickListener 调用,也许还有setResult()

于 2011-11-24T06:35:44.677 回答