如何在 onCreate 方法之外使用字符串
How to use a String outside onCreate method
我的 onCreate 方法中有以下代码:
Bundle appleData = getIntent().getExtras();
if(appleData==null) {
return;
}
String appleMessage = appleData.getString("appleMessage");
final TextView texttest = (TextView) findViewById(R.id.texttest);
texttest.setText(appleMessage);
我想在 onCreate 之外的同一个 activity 上以不同的方法使用存储在 appleMessage 中的字符串,我该怎么做?
在你的 class 中声明它,而不是在方法中。
例如
private String appleMessage;
并为其使用 getter 和 setter
public String getAppleMessage(){
return appleMessage;
}
如果你在 class 的多个地方需要它,那么你可以通过在方法之外声明它来使它成为一个成员变量
public class SomeClass extends Activity {
String appleMessage = "default text";
但是如果你只在一个方法中需要它,如果你在 onCreate()
中调用方法,你可以简单地将它传递给方法调用
public void onCreate(Bundle bundle) {
...
String appleMessage = appleData.getString("appleMessage");
final TextView texttest = (TextView) findViewById(R.id.texttest);
texttest.setText(appleMessage);
// here
myMethod(appleMessage);
}
假设 myMethod
接受一个 String
作为参数。
我还建议您 read the java docs 和一些基础教程,然后再继续 Android。它会让你的生活更轻松。
在class上创建一个成员变量,在onCreate
方法中设置。
有关 instance/member 变量的详细信息,请参阅 here。
所以:
class SomeClass extends Activity {
private String appleMessage;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
appleMessage = ...
}
public void otherMethod() {
Log.e("LOG", "Here is appleMessage: " + appleMessage);
}
}
您应该在 onCreate 方法之外声明一个 String 属性。例如:
private String appleMessage;
然后,在您的 onCreate 中,只需更改此行:
appleMessage = appleData.getString("appleMessage");
当你想在其他方法上使用它时,调用它即可。它的值将是在 onCreated 方法上设置的值。
我的 onCreate 方法中有以下代码:
Bundle appleData = getIntent().getExtras();
if(appleData==null) {
return;
}
String appleMessage = appleData.getString("appleMessage");
final TextView texttest = (TextView) findViewById(R.id.texttest);
texttest.setText(appleMessage);
我想在 onCreate 之外的同一个 activity 上以不同的方法使用存储在 appleMessage 中的字符串,我该怎么做?
在你的 class 中声明它,而不是在方法中。
例如
private String appleMessage;
并为其使用 getter 和 setter
public String getAppleMessage(){
return appleMessage;
}
如果你在 class 的多个地方需要它,那么你可以通过在方法之外声明它来使它成为一个成员变量
public class SomeClass extends Activity {
String appleMessage = "default text";
但是如果你只在一个方法中需要它,如果你在 onCreate()
public void onCreate(Bundle bundle) {
...
String appleMessage = appleData.getString("appleMessage");
final TextView texttest = (TextView) findViewById(R.id.texttest);
texttest.setText(appleMessage);
// here
myMethod(appleMessage);
}
假设 myMethod
接受一个 String
作为参数。
我还建议您 read the java docs 和一些基础教程,然后再继续 Android。它会让你的生活更轻松。
在class上创建一个成员变量,在onCreate
方法中设置。
有关 instance/member 变量的详细信息,请参阅 here。
所以:
class SomeClass extends Activity {
private String appleMessage;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
appleMessage = ...
}
public void otherMethod() {
Log.e("LOG", "Here is appleMessage: " + appleMessage);
}
}
您应该在 onCreate 方法之外声明一个 String 属性。例如:
private String appleMessage;
然后,在您的 onCreate 中,只需更改此行:
appleMessage = appleData.getString("appleMessage");
当你想在其他方法上使用它时,调用它即可。它的值将是在 onCreated 方法上设置的值。