Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我在声明局部变量stringtext和textview2需要最终确定时出错?如果我最终确定它们,那么如果我是正确的,它们将不会更新。。。?_Java_Android - Fatal编程技术网

Java 我在声明局部变量stringtext和textview2需要最终确定时出错?如果我最终确定它们,那么如果我是正确的,它们将不会更新。。。?

Java 我在声明局部变量stringtext和textview2需要最终确定时出错?如果我最终确定它们,那么如果我是正确的,它们将不会更新。。。?,java,android,Java,Android,我在声明局部变量stringtext和textview2需要最终确定时出错?如果我最终确定它们,那么如果我正确,它们将不会更新…?final只是意味着变量的引用无法更改。对象状态仍将正确更改。如果匿名内部类(例如您的onClickListeners)引用局部变量,则该变量必须是final。这是因为匿名内部类实际上接收该变量的一个副本,Java不希望原始和副本不同步 标记为final的基元类型(例如int或double)的值不能更改;一旦设置好,它就卡住了。然而,引用对象的变量就是:引用(本质上是

我在声明局部变量stringtext和textview2需要最终确定时出错?如果我最终确定它们,那么如果我正确,它们将不会更新…?

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());


            }
        };



    }