2013-09-26 3 views
0

그래서 내가 뭘 하려는지, 작업 표시 줄의 버튼을 사용하여 내 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; 
} 

의 하단에 그리고 나는 "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 문자열 또는 웹보기의 "WV"를 사용할 수 없습니다. 아무도 내가이 일을 어떻게해야하는지 안다?

미리 감사드립니다.

+0

다시 호출해야합니다. 'wv.loadUrl ("http://feedit.themeister.se/app/"+ url + ".php"); –

+0

[WebView를 새로 고치는 더 좋은 방법이 있습니까? ] (http://stackoverflow.com/questions/2563325/is-there-a-better-way-to-refresh-webview) –

답변

1

webView에 URL 문자열 또는 "wv"를 사용할 수 없습니다. 아무도 내가이 일을 어떻게해야하는지 안다? 당신이 개 변수 url 및 wv들이 만 onCreateView 방법에서 존재 의미, 지역 주민이기 때문에

입니다.

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

  • wv = (WebView)rootView.findViewById(R.id.webView);
  • 에, 클래스의 상단에

  • 변경 WebView wv = (WebView)rootView.findViewById(R.id.webView);WebView wv;를 넣어이 같은 웹보기를 새로 고침하여 onOptionsItemSelected 수정

또한이 기사에서와 같이 변수 범위 (예 : http://www.java-made-easy.com/variable-scope.html)에 대한 Java의 기초를 배우고 Android 코드를 시작하기 전에 Java 기초에 대한 다른 자습서를 찾아 볼 것을 제안합니다.

+0

두 가지 문제가 있습니다. 하나의 새로운 문제와 하나의 새로운 문제. 1.'wv = (WebView) rootView.findViewById (R.id.webView);를 onOptionsItemSelected 안에 넣을 때 "rootView를 해석 할 수 없다"는 오류가 발생하고 아래에 onCreateView에있는 라인을 추가하는 것만으로는 작동하지 않습니다. 내가 인화 붕대 등을 가지고 있지 않기 때문에. 2. 여전히 "url"을 사용할 수 없습니다. – TheMeisterSE

+0

1. 아니오, 당신이 잘못 이해했기 때문에'wv = (WebView) rootView.findViewById (R.id.webView); '의 위치를 ​​바꿀 필요가 없습니다. 라인 시작시'WebView' 만 제거하면됩니다. . 2.'onOptionsItemSelected'에서 변수'url'을 사용할 필요가 없습니다. 단지'wv.loadUrl (wv.getUrl());'을 사용하십시오. – meynety

관련 문제