2015-01-13 2 views
0

나는 많은 뉴스와 함께 RSS 피드를 가지고있다.동적 조각을 만드는 방법은 무엇입니까?

public MyFragment(String url) { 
    this.url = url; 
} 

@SuppressWarnings("deprecation") 
@SuppressLint({ "SetJavaScriptEnabled", "InflateParams" }) 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 

    v = inflater.inflate(R.layout.inline_browser, null); 
    ww = (WebView) v.findViewById(R.id.inlineBrowser); 
    browserSettings = ww.getSettings(); 
    browserSettings.setPluginState(PluginState.ON); 
    browserSettings.setJavaScriptEnabled(true); 
    browserSettings.setDomStorageEnabled(true); 
    browserSettings.setAppCacheMaxSize(1024 * 1024 * 8); 

    browserSettings.setAllowFileAccess(true); 
    browserSettings.setAppCacheEnabled(true); 
    browserSettings.setCacheMode(WebSettings.LOAD_DEFAULT); 

    ww.setWebViewClient(new WebViewClient() { 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      view.loadUrl(url); 
      return true; 
     } 
    }); 
    ww.getSettings().setLoadsImagesAutomatically(true); 
    ww.getSettings().setJavaScriptEnabled(true); 
    ww.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY); 
    ww.loadUrl(url); 
    return v; 
} 

}

그리고 여기에 내가 조각을 소개하는 코드입니다 : 내가 뉴스로 이동 여기에 조각 내 코드는 다음 및 이전 뉴스 위해 왼쪽과 오른쪽 스 와이프를 구현하려는 천이 :

@SuppressLint("SetJavaScriptEnabled") 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.inline_browser); 
    feed = (RSSFeed) new WriteObjectFile(this).readObject(RSSUtil 
      .getFeedName()); 
    position = getIntent().getExtras().getInt("pos"); 
    setTitle(feed.getItem(position).getTitle()); 
    browser = (WebView) findViewById(R.id.inlineBrowser); 
    url = feed.getItem(position).getURL(); 
    browser.requestFocusFromTouch(); 
    browser.setInitialScale(1); 
    browser.getSettings().setUseWideViewPort(true); 
    fragmentManager = getFragmentManager(); 
    FragmentTransaction fragmentTransaction = fragmentManager 
      .beginTransaction(); 
    MyFragment fragment = new MyFragment(url); 
    fragmentTransaction.add(R.id.browserFrame, fragment); 

    fragmentTransaction.commit(); 

} 
+1

이 작업을 수행하려면'ViewPager'를 사용하십시오. – Yugesh

답변

0

조각에는 기본 기본 생성자 (args 없음)가 있어야합니다. 그렇지 않은 경우 Android는 필요한 경우이 Fragment를 다시 만들 수 없습니다.

그래서, 일반적으로 당신이 할 것 :
public MyFrag() {} 

public static MyFrag newInstance(String url) { 
    Bundle b = new Bundle(); 
    b.putString("url", url); 
    MyFrag f = new MyFrag(); 
    f.setArgumentd(b); 
    return f; 
} 

은 그럼 당신은 MyFrag.getArguments().getString("url")를 사용하여 전달 된 URL을 필요할 때마다.

관련 문제