所以我有一个侦听器,该侦听器在搜索视图中侦听来自主活动的键入文本,并将该数据获取到同一主活动的片段。上面的过程运行良好,问题是我似乎无法从重写的侦听器访问片段类的其余部分的数据,因此我可以实际使用它。
这是列表器实例
private void getSearch(){
searchView.setOnSearchViewListener(new MaterialSearchView.SearchViewListener() {
@Override
public void onSearchViewShown() {
Log.d(TAG, "onSearchViewShown: searchview running");
}
@Override
public void onSearchViewClosed() {
logoRL.setVisibility(View.VISIBLE);
Log.d(TAG, "onSearchViewClosed: 0000");
}
});
searchView.setOnQueryTextListener(new MaterialSearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
Log.d(TAG, "VALUE"+ newText);
listner.onDataLoaded(newText);
return true;
}
});
这是片段类,在其中我需要看到文本值。数据值是我需要使用的。还声明一个全局变量,然后将其分配给该值不起作用,因为它返回null,我在想它是因为重写的方法以某种方式在片段的oncreatview之前被调用,但是我不确定。任何帮助将不胜感激,在过去的4天中,我一直在努力,我真的很拼命
@Override
public void onSearchViewSelected(String newText) {
}
@Override
public void onDataLoaded(String data) {
Log.d(TAG, "query" + data);
}
答案 0 :(得分:1)
我通过另一种方法解决了问题,将我需要的方法而不是相反的方法解决了