![](/img/trans.png)
[英]Acces to variable from another a class that extends activity to a class that extends view
[英]How can a class reference a variable from its containing composite class's parent class (which extends Activity)?
如何从“OtherClass”中获取“somevariable”的值? 正如我在下面尝试的那样,我可以/应该使用 Activity 的上下文吗?
public class ParentActivity extends Activity {
//This variable is reused by multiple Activities inheriting form this class
protected static String somevariable = "text";
...
}
public class MyActivity extends ParentActivity {
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
myObject = new OtherClass(this);
myObject.doSomething();
...
}
...
}
public class OtherClass(){
private Context c;
private String b;
OtherClass(Context context) {
c = context;
}
doSomething() {
// This does NOT work.
// How can I get somevariable from the ParentActivity????
b = c.somevariable;
}
}
如果要访问ParentActivity
类中定义的特定somevariable
,则应尝试将其作为ParentActivity.somevariable
访问,因为它被声明为static
:
public class OtherClass { // Why were there extra parentheses ()
private Context c;
private String b;
OtherClass(Context context) {
c = context;
}
doSomething(){
b = ParentActivity.somevariable; // Try this at home ;)
}
}
您可以像这样传递变量:
public void doSomething(String someVariable){
b = someVariable;
}
a = ParentActivity.somevarible;
应该工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.