在 Android 中,如何调用其中包含 View 引用的 parent 函数?
In Android, how do you call a parent function with View references in it?
这里是 parent class:
public class void ParentClass () extends Activity {
private ListView _listView;
@Override
protected onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_parent);
_listView = (ListView) getViewById(R.id.list_view);
ChildClass cc = new ChildClass();
}
protected void SetScroll() {
try {
_listView.setFastScrollEnabled(false);
} catch (Exception e) {
e.printStackTrace();
}
}
这里是 child class:
private void ChildClass extends ParentClass () {
public ChildClass() {
SetScroll();
}
}
请原谅我凭记忆输入的语法问题。这些 classes 的问题是从 CallParent
函数调用的 SetScroll
函数不起作用,因为它无法找到正确的 _listView
引用(它变成 null
).我应该怎么做才能使其正常工作?请记住,这只是一个示例。
但是视图变空是因为你正在扩展一个 activity class 并且在使用它的视图之前你需要调用 onCreate 并设置视图(如果子 activity需要新的)。但是为此,您将必须遵循生命周期的完整流程。这将帮助您扩展 activity class。 android how to create my own Activity and extend it?
像这样调用父 class activity(仅供参考)。使用您的代码将无法正常工作。您需要先更正您的代码。请参阅我发布的link。
super.SetScroll();
这里是 parent class:
public class void ParentClass () extends Activity {
private ListView _listView;
@Override
protected onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_parent);
_listView = (ListView) getViewById(R.id.list_view);
ChildClass cc = new ChildClass();
}
protected void SetScroll() {
try {
_listView.setFastScrollEnabled(false);
} catch (Exception e) {
e.printStackTrace();
}
}
这里是 child class:
private void ChildClass extends ParentClass () {
public ChildClass() {
SetScroll();
}
}
请原谅我凭记忆输入的语法问题。这些 classes 的问题是从 CallParent
函数调用的 SetScroll
函数不起作用,因为它无法找到正确的 _listView
引用(它变成 null
).我应该怎么做才能使其正常工作?请记住,这只是一个示例。
但是视图变空是因为你正在扩展一个 activity class 并且在使用它的视图之前你需要调用 onCreate 并设置视图(如果子 activity需要新的)。但是为此,您将必须遵循生命周期的完整流程。这将帮助您扩展 activity class。 android how to create my own Activity and extend it?
像这样调用父 class activity(仅供参考)。使用您的代码将无法正常工作。您需要先更正您的代码。请参阅我发布的link。
super.SetScroll();