(首先,我要说明我的专业领域是HTML5(和php / coldfusion),我是Java / Android的初学者)
在我的onCreateOptionsMenu
内部,我有以下代码来处理android操作栏中搜索操作中的查询更改。
final SearchView.OnQueryTextListener queryTextListener = new SearchView.OnQueryTextListener() {
public boolean onQueryTextChange(String newText) {
//I want to call super.loadUrl from here
return true;
}
};
问题是我想在每次文本更改时调用phonegap的loadUrl方法,但这是不可能的,因为super
似乎是指其他内容。如果我甚至只知道上面构造的内容(它似乎是某种子类定义),我可能会谷歌这个,但我甚至不知道那个和super.super
isn'允许我完全失去。
供参考:我的班级看起来像
public class MainActivity extends DroidGap implements ActionBar.OnNavigationListener {
这是loadUrl的来源(我也尝试了DroidGap.loadUrl
方向的东西。)
答案 0 :(得分:2)
我认为您的问题可能缺少一些关键点。 Super指的是当前对象的超类。在您的情况下,当前对象是queryTextListener,而super是SearchView.OnQueryTextListener
根据以下评论进行修改: 在您的包含方法(与最终的SearchView.OnQueryTextListener queryTextListener相同的范围......)中添加最终引用,例如:
final DroidGap droidGap = this;
final SearchView.OnQueryTextListener queryTextListener = new SearchView.OnQueryTextListener() {
public boolean onQueryTextChange(String newText) {
droidGap.loadUrl(...);
return true;
}
};