2

我有一個WebView應用程序,使用HTML代碼iframe。 通過菜單更改WebView URL,並且需要幾秒鐘的時間。 我想在WebView準備好使用之前創建ProgressBar。我如何做到這一點?如何在webview準備好之前完成進度條?

注:

我,如果你給我的評論關於我查了一下菜單價值的方式很開心

這是我的代碼引擎收錄: http://pastebin.com/6gXZxvds

或者在這裏:

MainActivity:

public class MainActivity extends Activity { 
    String[] menu; 
    DrawerLayout dLayout; 
    ListView dList; 
    ArrayAdapter<String> adapter; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     setContentView(R.layout.activity_main); 
     menu = new String[]{"home","soccer","basketball"}; 
     dLayout = (DrawerLayout) findViewById(R.id.drawer_layout); 
     dList = (ListView) findViewById(R.id.right_drawer); 
     adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,menu); 
     dList.setAdapter(adapter); 
     dList.setSelector(android.R.color.holo_blue_dark); 
     dList.setOnItemClickListener(new OnItemClickListener(){ 
      @Override 
      public void onItemClick(AdapterView<?> arg0, View v, int position, long id) { 

       dLayout.closeDrawers();   
       Bundle args = new Bundle(); 
       args.putString("Menu", menu[position]); 
       Fragment detail = new DetailFragment(); 
       detail.setArguments(args); 
       FragmentManager fragmentManager = getFragmentManager();  
       fragmentManager.beginTransaction().replace(R.id.content_frame, detail).commit(); 

      } 

     }); 

    } 



} 

DetailFragment:

public class DetailFragment extends Fragment { 
    //TextView text; 
    String str; 
    @Override 
    public View onCreateView(LayoutInflater inflater,ViewGroup container, Bundle args) { 

     View view = inflater.inflate(R.layout.menu_detail_fragment, container, false); 
     String menu = getArguments().getString("Menu"); 
     /*text= (TextView) view.findViewById(R.id.detail); 
     text.setText(menu);*/ 

     if(menu.equals("home")) 
     { 
      str = "<iframe src='http://www.fcbj.co.il/' style='min-height: 100%; width: 100%; border: 0px;'></iframe>"; 
     } 
     else if (menu.equals("soccer")) { 
      str = "<iframe src='http://www.fcbj.co.il/News/' style='min-height: 100%; width: 100%; border: 0px;'></iframe>"; 
     } 
     else if(menu.equals("basketball")) 
     { 
      str = "<iframe src='http://www.fcbj.co.il/basketball/News/' style='min-height: 100%; width: 100%; border: 0px;'></iframe>"; 
     } 

     WebView browser =(WebView)view.findViewById(R.id.webPage); 
     WebSettings settings = browser.getSettings(); 
     settings.setJavaScriptEnabled(true); 
     browser.loadData(str,"text/html","UTF-8"); 


     return view; 
    } 


} 

謝謝大家:)

回答

3

嘗試設置WebChromeClient到網頁視圖:

browser.setWebChromeClient(new WebChromeClient() { 
    @Override 
    public void onProgressChanged(WebView view, int newProgress) { 
     super.onProgressChanged(view, newProgress); 
     // change webview progress here     
    } 
}); 
相關問題