我有一个透明的活动,它在另一个活动之上启动。为了清楚起见,假设透明活动称为 CommentsView,它是从名为 ArticleView 的活动启动的。
ArticleView 活动的底部是一个按钮,用于在其顶部启动 CommentsView 活动。在启动 CommentsView 活动时,我想更改该按钮的功能,以便在再次单击时取消 CommentsView 活动并返回到 ArticleView。
我该怎么做。我尝试在 CommentsView 活动中向该按钮添加一个新的 onclicklistener,但我得到了一个NullPointerException
(可能是因为该按钮在该活动中不存在)。我还尝试在 ArticleView 活动中处理此问题,方法是创建一个布尔变量commentsLaunched
并使用 if 语句来启动 CommentsView (if commentsLaunched == false
) 或取消它 (if commentsLaunched == true
)。但是,当我尝试这种方法时,我得到一个编译器错误:The final local variable commentClicked cannot be assigned, since it is defined in an enclosing type
. 我无法在侦听器中定义 commentClicked 变量,否则每次点击都会重新初始化,因此毫无价值。
我怎样才能实现我的目标?