我试图通过片段中的网页视图获取后退按钮。代码无法编译,有人可以告诉我我做错了什么吗?
我从内部课程中获取" webview需要是最终的"错误。
此外,我得到了#34;无法解析符号处理程序"错误。
包info.androidhive.slidingmenu;
import android.app.Fragment;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class PagesFragment extends Fragment {
public PagesFragment(){}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_pages, container, false);
WebView webView = (WebView) rootView.findViewById(R.id.webviewpages);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient());
webView.loadUrl("http://www.google.com");
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webView.setOnKeyListener(new View.OnKeyListener(){
public boolean onKey(View v, int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) {
handler.sendEmptyMessage(1);
return true;
}
return false;
}
});
return rootView;
}
}
答案 0 :(得分:0)
从内部类中访问webview需要是最终的
webview
变量需要是最终的才能从内部类访问。只需声明:
final WebView webView = (WebView) rootView.findViewById(R.id.webviewpages);
无法解析符号处理程序
当前范围内没有名为handler
的符号,但使用的是:
handler.sendEmptyMessage(1);
您需要声明该符号。
如果您提出这样的问题,我猜您正在关注一些教程。再次检查教程,你错过了什么。