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