如何在此代码中访问我的Status变量?

时间:2017-07-15 11:36:57

标签: android

我创建了一个名为状态的变量,我想在.replace(/�/gi, '<sup>&reg;</sup>'); 方法中更改它的值。我怎样才能做到这一点? 我在最后声明了Status变量,但是当我想改变它的值时,我得到了错误。

Report.setOnClickListener()

2 个答案:

答案 0 :(得分:0)

您无法更改声明为final的变量的值。使你的状态变量为非final,即,只是boolean status = true; ,你将能够改变它的价值。 如果它给出了将其声明为final的错误,则将其声明为全局变量。

答案 1 :(得分:0)

当您使用final关键字声明变量时,这意味着变量的初始化值实际上是最终值。您可以将其视为 常量

至于你的用例,在类外声明变量就是治愈。

public class MainActivity extends AppCompatActivity {

    private String Student_Name = "";
    private int Student_Grade = 0;
    private boolean Status = true;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        EditText studentName = (EditText) findViewById(R.id.name);
        EditText studentGrade = (EditText) findViewById(R.id.grade);
        Button Submit = (Button) findViewById(R.id.submit);
        Button Report = (Button) findViewById(R.id.report);

        final ArrayList<String> infos = new ArrayList<String>();
        final String report = "";
        for(int i = 0;Status != false;i++){
            String name = studentName.getText().toString();
            String grade = studentGrade.getText().toString();
            report = name + grade;
            Submit.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    infos.add(report);
                }
            });
            infos.add(report);
            Report.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent intent = new Intent(MainActivity.this,ReportActivity.class);
                    startActivity(intent);
                    Status = false;
                }
            });
        }