0

(首先,让我声明我的专业领域是 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不允许我在完全的损失。

供参考:我的课看起来像

public class MainActivity extends DroidGap implements ActionBar.OnNavigationListener {

这就是 loadUrl 的来源(我也尝试了方向的东西DroidGap.loadUrl)。

4

1 回答 1

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

};

于 2012-08-30T16:30:57.197 回答