2011-04-13 27 views
0

我以前的编码经验已经与python,只有脚本相关的数据流处理。完整的新手问题,textview句柄不识别

引用一个TextView处理

归结一些代码时,我得到一个编译错误:的onCreate()期间 ,调用函数setupHandles()

public void setupHandles(){ 
    //initialize internal controls to text labels 
    TextView tvmoney = (TextView) findViewById(R.id.moneyText); 
    TextView tvsave = (TextView) findViewById(R.id.savingsText); 
    ..... etc etc many more handles 

现在的一部分代码来自onResume(),我试着去做,例如:

tvmoney.setText(("Money: $" + "foo" + "bar")); 

它说tvmoney无法解决。为什么是这样? setupHandles必须运行,onCreate,并且它是公开的......但是如果我将第3行放在onResume中,则该句柄起作用。我怎么才能让它通过手柄,或使它真正公开?

回答

1

已获得名为tvmoney的参考,仅在方法setupHandles()中可用。一旦setupHandles()的执行完成,tvmoney就消失了。

为了解决这个问题,只需设置tvmoney为全局变量(之外的任何方法)

+0

我认为这就是setupHandles的“公共”部分并:(它不会接受这样一行' public TextView tvmoney =(TextView)findViewById(R.id.moneyText);' – Eric 2011-04-13 02:54:34

+0

哦,我现在看到了,在类中,但是在任何方法/函数外面,非常感谢shihpeng.Java是一个有差异的世界来自python! – Eric 2011-04-13 02:57:45