Advertisement
Guest User

Demo Add 2 Instances of Fragments

a guest
Sep 3rd, 2013
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.23 KB | None | 0 0
  1. package com.example.animationtest;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.InputStream;
  5. import java.io.InputStreamReader;
  6.  
  7. import org.apache.http.HttpResponse;
  8. import org.apache.http.client.methods.HttpGet;
  9. import org.apache.http.impl.client.DefaultHttpClient;
  10.  
  11. import android.app.Fragment;
  12. import android.app.FragmentManager;
  13. import android.app.FragmentTransaction;
  14. import android.content.Context;
  15. import android.content.res.AssetManager;
  16. import android.os.AsyncTask;
  17. import android.os.Bundle;
  18. import android.view.LayoutInflater;
  19. import android.view.View;
  20. import android.view.View.OnClickListener;
  21. import android.view.ViewGroup;
  22. import android.webkit.WebChromeClient;
  23. import android.webkit.WebView;
  24. import android.webkit.WebViewClient;
  25. import android.widget.Button;
  26.  
  27. public class TestFragment extends Fragment {
  28. WebView wv;
  29. public static boolean odd;
  30. @Override
  31. public View onCreateView(LayoutInflater inflater, ViewGroup container,
  32. Bundle savedInstanceState) {
  33. View rootView = inflater.inflate(R.layout.fragment_main, null);
  34. wv = (WebView) rootView.findViewById(R.id.webView1);
  35. wv.setWebChromeClient(new WebChromeClient());
  36. wv.getSettings().setJavaScriptEnabled(true);
  37. wv.setWebViewClient(new WebViewClient() {
  38. public void onReceivedError(WebView view, int errorCode,
  39. String description, String failingUrl) {
  40. }
  41. });
  42. // wv.loadUrl("http://www.google.com.vn");
  43. Button button = (Button) rootView.findViewById(R.id.button1);
  44. button.setOnClickListener(new OnClickListener() {
  45.  
  46. @Override
  47. public void onClick(View arg0) {
  48. // TODO Auto-generated method stub
  49. FragmentManager fm = getFragmentManager();
  50. FragmentTransaction ft = fm.beginTransaction();
  51. ft.add(new TestFragment(), null);
  52. ft.addToBackStack("test");
  53. ft.commit();
  54. }
  55. });
  56. LoadWebViewContent loader = new LoadWebViewContent();
  57. loader.execute();
  58. return rootView;
  59. }
  60.  
  61. class LoadWebViewContent extends AsyncTask {
  62. String source;
  63.  
  64. @Override
  65. protected Object doInBackground(Object... arg0) {
  66. // TODO Auto-generated method stub
  67. // source = readAssetTextFile(getActivity(), "source.txt");
  68. try {
  69. if (odd==true) {
  70. odd = false;
  71. } else {
  72. odd = true;
  73. }
  74. String html = "";
  75. DefaultHttpClient httpClient = new DefaultHttpClient();
  76. String url ="http://stackoverflow.com/questions/18529004/how-to-add-2-instances-of-the-same-fragment-to-backstack";
  77. if (odd) url = "http://stackoverflow.com/questions/4790746/links-in-textview/13765953";
  78. HttpGet request = new HttpGet(url);
  79. HttpResponse response = httpClient.execute(request);
  80. InputStream in = response.getEntity().getContent();
  81. BufferedReader reader = new BufferedReader(
  82. new InputStreamReader(in));
  83. StringBuilder str = new StringBuilder();
  84. String line = null;
  85. while ((line = reader.readLine()) != null) {
  86. str.append(line);
  87. }
  88. in.close();
  89. html = str.toString();
  90. source = html;
  91. return html;
  92. } catch (Exception e) {
  93. return null;
  94. }
  95. }
  96.  
  97. @Override
  98. protected void onPostExecute(Object result) {
  99. // TODO Auto-generated method stub
  100. super.onPostExecute(result);
  101. wv.loadData(source, "text/html", "utf-8");
  102. }
  103. }
  104. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement