2016-04-01 27 views
1

朋友你好我使用的ListItem點擊程序列表視圖執行波紋管代碼,但它有很多的ListItem將調用不同的網頁 先後爲不同的網頁,我有列表視圖創建不同的Fragment.xml和Framgment.java文件?或者我可以保留一個共同的片段和XML文件,並在列表項狀態的幫助下,我可以調用不同的網頁! 請幫助我這個 因爲我初學的Android 謝謝如何保持一個片段查看多個網頁

fragment.xml之

<!-- TODO: Update blank fragment layout --> 

<WebView 
    android:id="@+id/webViewabout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" /> 

Fragment.java

package com.ft.bscit; 


    import android.os.Bundle; 
    import android.support.v4.app.Fragment; 
    import android.view.LayoutInflater; 
    import android.view.View; 
    import android.view.ViewGroup; 
    import android.webkit.WebChromeClient; 
    import android.webkit.WebView; 

    import com.ft.bscit.R; 

    /** 
    * A simple {@link Fragment} subclass. 
    */ 
    public class About_bscit_Fragment extends Fragment { 


     public About_bscit_Fragment() { 
      // Required empty public constructor 
     } 


     @Override 
     public View onCreateView(LayoutInflater inflater, ViewGroup container, 
           Bundle savedInstanceState) { 
      // Inflate the layout for this fragment 
      View rootView = inflater.inflate(R.layout.fragment_about_bscit, container, false); 

      WebView webView = (WebView)rootView.findViewById(R.id.webViewabout); 

      webView.getSettings().setJavaScriptEnabled(true); 
      webView.setWebChromeClient(new WebChromeClient()); 
      webView.loadUrl("file:///android_asset/index.html"); 

      return rootView; 
     } 

    } 
+0

你在哪裏實例化你的片段?粘貼該代碼。 –

+0

已在下面的答案部分發布了片段實例化 – Vitesh

回答

0

你可以發送url,同時實例化你的片段。

case R.id.button1: 
         //what to put here 
         About_bscit_Fragment fragment = About_bscit_Fragment.newInstance("your-url-value"); 
         FragmentManager fm = getFragmentManager(); 
         FragmentTransaction ft = fm.beginTransaction(); 
         ft.replace(R.id.fragment_container, fragment); 
         ft.commit(); 
         break; 
       } 

其中newInstance()About_bscit_Fragment定義 -

public static About_bscit_Fragment newInstance(String url) { 
     About_bscit_Fragment fragment = new About_bscit_Fragment(); 
     Bundle args = new Bundle(); 
     args.putString("key_url", url); 
     fragment.setArguments(args); 
     return fragment; 
    } 

在片段的onViewCreated()你可以獲取在實例它,你發送的值 -

String url = getArguments().getString("key_url"); 

並加載它 -

webView.loadUrl(url); 
+0

更新了我的答案。 –

+0

兄弟不確切得到什麼可以請你編輯我已發佈的上限答案 – Vitesh

+0

更新了答案。 –

0
package com.forever.technology.bscit; 

import android.content.Intent; 
import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.support.v4.app.ListFragment; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.ArrayAdapter; 
import android.widget.ListView; 

import com.forever.technology.bscit.R; 

/** 
* A simple {@link Fragment} subclass. 
*/ 
public class Sem1Fragment_list extends ListFragment { 




    public Sem1Fragment_list() { 
     // Required empty public constructor 
    } 
    ListView lv; 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     // Inflate the layout for this fragment 
     return inflater.inflate(R.layout.fragment_sem1_list, container, false); 
    } 

    @Override 
    public void onActivityCreated(Bundle savedInstanceState) { 
     super.onActivityCreated(savedInstanceState); 
     ArrayAdapter adapter = ArrayAdapter.createFromResource(getActivity(), 
       R.array.sem1, android.R.layout.simple_list_item_1); 
     setListAdapter(adapter); 

    } 

    @Override 
    public void onListItemClick(ListView l, View v, int position, long id) { 
     super.onListItemClick(l, v, position, id); 
     switch (position) 
     { 
      case 0: 
       Intent intent = new Intent(getActivity().getApplicationContext(),Subject1Activity.class); 
       startActivity(intent); 

      case 1: 

     } 

    } 
} 
相關問題