Java 我在声明局部变量stringtext和textview2需要最终确定时出错?如果我最终确定它们,那么如果我是正确的,它们将不会更新。。。?
我在声明局部变量stringtext和textview2需要最终确定时出错?如果我最终确定它们,那么如果我正确,它们将不会更新…?Java 我在声明局部变量stringtext和textview2需要最终确定时出错?如果我最终确定它们,那么如果我是正确的,它们将不会更新。。。?,java,android,Java,Android,我在声明局部变量stringtext和textview2需要最终确定时出错?如果我最终确定它们,那么如果我正确,它们将不会更新…?final只是意味着变量的引用无法更改。对象状态仍将正确更改。如果匿名内部类(例如您的onClickListeners)引用局部变量,则该变量必须是final。这是因为匿名内部类实际上接收该变量的一个副本,Java不希望原始和副本不同步 标记为final的基元类型(例如int或double)的值不能更改;一旦设置好,它就卡住了。然而,引用对象的变量就是:引用(本质上是
final
只是意味着变量的引用无法更改。对象状态仍将正确更改。如果匿名内部类(例如您的onClickListeners
)引用局部变量,则该变量必须是final
。这是因为匿名内部类实际上接收该变量的一个副本,Java不希望原始和副本不同步
标记为final的基元类型(例如int
或double
)的值不能更改;一旦设置好,它就卡住了。然而,引用对象的变量就是:引用(本质上是对象在内存中的位置)
无法将引用更改为指向新对象,但对象的字段和方法可以正常使用。请给出确切的错误消息
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText stringtext; // final error here
stringtext = (EditText) findViewById(R.id.editText);
TextView textView2; // final error here
textView2 = (TextView) findViewById(R.id.textView2);
Button startprogram = (Button) findViewById(R.id.button);
View.OnClickListener listener = new View.OnClickListener(){
@Override
public void onClick(View view){
// Insert what you want the button to do here!
setContentView(R.layout.helloworld);
}
};
startprogram.setOnClickListener(listener);
// this is button to check the inserted code
Button checkbutton = (Button) findViewById(R.id.checkbutton);
View.OnClickListener listener1 = new View.OnClickListener(){
public void onClick(View view){
//insert button command here
textView2.setText(stringtext.getEditableText());
}
};
}