【发布时间】:2012-10-18 20:58:33
【问题描述】:
我的应用中有一个自定义对话框。我的自定义对话框实现为具有透明背景和类似对话框的视图的 Activity。 Mu 自定义对话框看起来像警报对话框,带有标题、消息和按钮。我正在尝试做的是创建一个漂亮的界面来设置我的弹出窗口的标题、消息和 onClickListener。
首先我不想让所有员工都像这样:
Intent intent = new Intent (this, CustomPopup.class);
intent.putExta ("Title", "PopupTitle");
intent.putExta ("Message", "PopupMessage");
intent.putExtra ("OnCLickListener", ?????); //here is problem
startActivity(intent);
但问题是没有办法将 OnCLickListener 设置为意图。
其次,我尝试创建实现 Parcable 的类。 但是问题是一样的
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(title);
dest.writeString(message);
dest.writeValue(buttonClickListener); // here is problem. I cannot write Interface
}
我无法将 OnCLickListener 写入 Parcel 对象。
怎么样?如何为我的自定义弹出窗口编写漂亮的界面?因为弹出窗口可以有不同的标题和消息,并且弹出窗口将在许多活动中使用....提前谢谢
【问题讨论】:
-
那么,你为什么不使用实际的对话框?
-
除了标题和消息之外还有更多的视图,但我不想让我的问题更复杂......
-
为什么不额外添加一个关键的“clicklistener”值
true?如果设置为 true,则在接收Activity类中设置OnClickListener() -
因为按钮点击可以有不同的动作。它可以关闭弹出窗口,可以启动另一个活动
-
为什么不直接使用对话框或对话框片段?
标签: android android-intent parcelable