在子类中调用'super.loadUrl'

时间:2012-08-30 16:22:46

标签: java android cordova

(首先,我要说明我的专业领域是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方向的东西。)

1 个答案:

答案 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;
    }

};