所以我要做的是使用操作栏中的按钮刷新我的webView,问题是什么?嗯,使用一些代码更容易解释。
这是我的MainActivity.java
的底部@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final String url=getArguments().getString("url");
View rootView = inflater.inflate(R.layout.fragment_main_dummy,container, false);
WebView wv = (WebView)rootView.findViewById(R.id.webView);
wv.getSettings().setJavaScriptEnabled(true);
wv.loadUrl("http://feedit.themeister.se/app/"+url+".php");
wv.setWebViewClient(new WebViewClient());
return rootView;
}
为了刷新webView,我需要“url”字符串,但是字符串是在onCreateView中创建的,上面我有这个实际上使刷新按钮工作
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_refresh:
// Here should some code be placed but I don't know what to place
return true;
default:
return super.onOptionsItemSelected(item);
}
}
我不能使用url字符串或webv的“wv”。任何人都知道我应该如何做到这一点?
提前致谢!
答案 0 :(得分:1)
我不能使用url字符串或webv的“wv”。任何人都知道我应该如何做到这一点?
这是因为您的两个变量url和wv
都是本地人,这意味着它们只存在于您的onCreateView
方法下。
要在onOptionsItemSelected
方法中使用变量,请将其声明放在方法之外,就像在课程顶部一样。
所以,步骤:
WebView wv;
放在课程顶部,WebView wv = (WebView)rootView.findViewById(R.id.webView);
wv = (WebView)rootView.findViewById(R.id.webView);
修改您的onOptionsItemSelected
以刷新网页浏览:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_refresh:
wv.loadUrl(wv.getUrl());
return true;
default:
return super.onOptionsItemSelected(item);
}
我还建议你学习关于变量作用域的Java基础知识(比如这个:http://www.java-made-easy.com/variable-scope.html)并在开始使用Android代码之前查找有关java基础知识的其他教程。