android非常基本的java,为什么按下按钮时程序会关闭?

android非常基本的java,为什么按下按钮时程序会关闭?,java,android,textview,Java,Android,Textview,刚开始检查android开发,但已经有问题了。按下按钮B转换时,活动关闭。outputValue.setText显然使用错误。怎么了谢谢你的帮助!:) 初始化outputValue时,您正在创建一个局部变量,而不是初始化类变量。替换TextView outputValue=(TextView)findViewById(R.id.userOutput)符合 outputValue = (TextView) findViewById(R.id.userOutput); 你有什么问题?具体地说,粘贴

刚开始检查android开发,但已经有问题了。按下按钮B转换时,活动关闭。outputValue.setText显然使用错误。怎么了谢谢你的帮助!:)


初始化
outputValue
时,您正在创建一个局部变量,而不是初始化类变量。

替换
TextView outputValue=(TextView)findViewById(R.id.userOutput)符合

outputValue = (TextView) findViewById(R.id.userOutput);

你有什么问题?具体地说,粘贴错误消息。这个标题中没有问题。不,没有。在类中声明的全局变量可以在不使用
final
技巧的情况下访问。我会看看我是否能找到合适的,规范的参考解决方案确实是你的第一段。我更喜欢你的回答,因为你花了时间解释。@David,这就是为什么我说得相当肯定,我太懒了,无法真正确定。:)没问题。。。对不起,我找不到正式的参考资料。无论如何,正如我所说,外部类成员不需要是
final
static
,至少在那个例子中是这样。如果将侦听器移动到一个方法内部,那么我“相当确定”:-)它将需要是
静态的
(而不是
最终的
),否则编译器将抛出著名的“不能对非静态字段进行静态引用…”,这就是我重用全局侦听器的原因(在android代码中可以看到很多)。当然,在这种情况下,由于初始化问题,全局
final
声明不起作用。
outputValue = (TextView) findViewById(R.id.userOutput);