0

这是为了学习,我只是想确保我的答案是 100% 正确的。这个问题给了我骨架代码,我需要填写它。这是代码。

public class WebFragment extends WebViewFragment {

   private WebView mWebView;

   @Override
   public void onActivityCreated(Bundle.savedInstanceState) {
      super.onActivityCreated(savedInstanceState);
      // Fill in here
   }

   public void refreshPage(View view) {
       // Fill in here
   }

}

现在我被问到三个问题。我已将我的答案放在每个问题的下方。

一个。在类中实例化 WebView 属性

湾。活动开始后,让 WebView 组件加载 url “ http://www.google.com/

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

      mWebView = (WebView) findViewById(R.id.webview);  // question a
      mWebView.getSettings().setJavaScriptEnabled(true); // question a
      mWebView.loadUrl("http://www.google.com");  // question b
   }

C。假设在活动布局中有一个按钮可用并且在按下时运行 refreshPage,使该函数重新加载 WebView 页面并显示带有消息“页面已刷新!”的 Toast

   public void refreshPage(View view) {
       mWebView.reload();
       Toast toast = Toast.makeText(getApplicationContext(), "Page has been refreshed!"), Toast.LENGTH_SHORT().show();

   }

任何反馈表示赞赏。

4

1 回答 1

1

回答 a 似乎没问题,对于 toast 你不需要变量,除非你不想做除了显示 toast 之外的其他事情

mWebView.reload();
Toast.makeText(getApllicationContext(),"foo",Toast.LENGTH_SHORT).show();

或以毫秒为单位传递自定义时间

Toast.makeText(getApllicationContext(),"foo",2000).show();

您还可以初始化一个 Toast 变量,然后对其调用 show,它可以工作,如果您不打算对它做任何事情,它只是一个无用的变量,但它没有错

Toast toast = Toast.makeText(getApplicationContext(),"foo",1000);
toast.show();

哦,我不知道它是否需要,但是像这个refreshPage方法是任何人都不能调用的,也许你想为按钮设置一个OnClickListener(我们假设在布局中),以便可以调用refreshPage

((Button)findViewById(R.id.buttonId)).setOnClickListener(new OnClickListener(){
    @Override
    public void onClick(View v){
        refreshPage(v);
    }
});
于 2013-06-20T13:20:39.643 回答