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