gpt4 book ai didi

java - 如何在方法之外使用变量

转载 作者:行者123 更新时间:2023-12-01 23:44:31 26 4
gpt4 key购买 nike

如何将 char1 从 onCreate 方法传递到另一个方法中 - 在本例中,将其传递到 selectChar2 中?我可以使 char1 和 char2 全局化吗?我不确定解决这个问题的正确方法是什么。请帮忙!

private String char1,char2; // does this even do anything? I thought this would let me use char1 and char2 anywhere.

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pick_char2);

Bundle extras = getIntent().getExtras();
if (extras != null) {
String char1 = (String) extras.getString("char1"); //is the (String) necessary?

TextView textView = (TextView) findViewById(R.id.header);

textView.setText(char1+" vs "+"char2");

}


}

public void selectChar2(View v) {
Button btn = (Button)v;
String char2 = btn.getText().toString();
Intent intent = new Intent(PickChar2.this, DisplayMatchUp.class);
Bundle extras = new Bundle();

extras.putString("Character1",char1); //char1 here is null...how do I get the value from the method above?
extras.putString("Character2", char2);

intent.putExtras(extras);
startActivity(intent);

最佳答案

实际上,您已经声明并使用了两个单独的变量:

  1. 实例变量:char1
  2. 局部变量:char1

1 的作用域为类实例(可以在类内的任何非静态作用域中访问)。 2 的作用域位于定义它的 block 中。在这种情况下,只需不创建局部变量,而使用实例变量,

    char1 = (String) extras.getString("char1");

关于java - 如何在方法之外使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17352926/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com