Java 根据是否启动活动更改按钮的行为

Java 根据是否启动活动更改按钮的行为,java,android,Java,Android,我有一个透明的活动,它是在另一个活动的基础上启动的。为了清楚起见,让我们假设透明活动称为CommentsView,它是从名为ArticleView的活动启动的 在ArticleView活动的底部有一个按钮,用于在其顶部启动CommentsView活动。当CommentsView活动启动时,我想更改该按钮的功能,以便在再次单击时取消CommentsView活动并返回到ArticleView 我该怎么做呢。我尝试在CommentsView活动中向该按钮添加新的onclicklistener,但我得到

我有一个透明的活动,它是在另一个活动的基础上启动的。为了清楚起见,让我们假设透明活动称为CommentsView,它是从名为ArticleView的活动启动的

在ArticleView活动的底部有一个按钮,用于在其顶部启动CommentsView活动。当CommentsView活动启动时,我想更改该按钮的功能,以便在再次单击时取消CommentsView活动并返回到ArticleView

我该怎么做呢。我尝试在CommentsView活动中向该按钮添加新的onclicklistener,但我得到了一个
NullPointerException
(可能是因为该活动中不存在该按钮)。我还尝试在ArticleView活动中处理此问题,方法是创建一个布尔变量
commentsLaunched
,并使用if语句启动CommentsView(if
commentsLaunched==false
)或取消它(if
commentsLaunched==true
)。但是,当我尝试此方法时,我得到一个编译器错误:
无法分配最终的局部变量,因为它是在封闭类型中定义的。我不能在监听器中定义commentClicked变量,否则每次单击都会重新初始化它,因此毫无价值


我怎样才能实现我的目标呢?

如果我们能看到这段代码,你不认为我们更容易解释为什么你的代码是错误的,以及如何修复它吗?什么是
commentClicked
?请提供示例的相关代码。