2016-02-26 72 views
0

Im新的android和im试图创建一个web查看与片段 和我在WebViewFragment getitem(), 的Adapter类中发生错误说“返回类型不兼容THE fragmentPagerAdapter”请帮助,因为IM卡使用片段创建Web视图

import homePage.HotDeals; 
import homePage.NewArrivals; 
import android.support.v4.app.Fragment; 
import android.support.v4.app.FragmentManager; 
import android.support.v4.app.FragmentPagerAdapter; 
import android.webkit.WebViewFragment; 

public class HomePageAdapter extends FragmentPagerAdapter{ 

public HomePageAdapter(FragmentManager fm) { 
    super(fm); 
    // TODO Auto-generated constructor stub 
} 

@Override 
public WebViewFragment getItem(int index) { 
    // TODO Auto-generated method stub 
    switch(index){ 
    case 0: 
     return new NewArrivals(); 
    case 1: 
     return new HotDeals(); 

    } 
    return null; 
} 

回答

0

试试这个:

public class MainActivity extends Activity { 

static public class MyWebViewFragment extends Fragment { 

    WebView myWebView; 
    final static String myBlogAddr = "http://android-er.blogspot.com"; 
    String myUrl; 


    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
    Bundle savedInstanceState) { 
    View view = inflater.inflate(R.layout.layout_webfragment, container, false); 
    myWebView = (WebView)view.findViewById(R.id.mywebview); 

    myWebView.getSettings().setJavaScriptEnabled(true);     
    myWebView.setWebViewClient(new MyWebViewClient()); 

    if(myUrl == null){ 
    myUrl = myBlogAddr; 
    } 
    myWebView.loadUrl(myUrl); 

     return view; 

    } 

    private class MyWebViewClient extends WebViewClient { 
     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      myUrl = url; 
      view.loadUrl(url); 
      return true; 
     } 
    } 

    @Override 
    public void onActivityCreated(Bundle savedInstanceState) { 
    super.onActivityCreated(savedInstanceState); 
    setRetainInstance(true); 
    } 

} 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
} 

@Override 
public void onBackPressed() { 
    MyWebViewFragment fragment = 
    (MyWebViewFragment)getFragmentManager().findFragmentById(R.id.myweb_fragment); 
    WebView webView = fragment.myWebView; 

    if(webView.canGoBack()){ 
    webView.goBack(); 
    }else{ 
    super.onBackPressed(); 
    } 
} 

} 

更多参考: http://android-er.blogspot.in/2013/04/embed-webview-in-fragment.html

您也可以使用WebViewFragment。 http://developer.android.com/reference/android/webkit/WebViewFragment.html