0

The Web Page at file:///#/android_asset/webpage.htm could not be loaded as: Is a directory.エミュレータと同じようにエラーが発生します。

しかし、私のコードはwebView.loadUrl("file:///android_asset/webpage.htm");

最初はページが完全にレンダリングされますが、レンダリング後にページが更新されてロードされず、Web ページが利用できなくなります。Android エミュレーターによって発行された URL を注意深く見ると、android_asset の前に 2 つの余分な文字があります。

以下はコードです。

public class Catalog extends Activity {
final Activity activity = this;
WebView webView;
 ProgressDialog progressDialog;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.getWindow().requestFeature(Window.FEATURE_PROGRESS);//used for rendering percentage of loading 
setContentView(R.layout.catalog_layout);

try{

    webView = (WebView) findViewById(R.id.browserwebview);
    webView.getSettings().setJavaScriptEnabled(true);

     webView.setWebChromeClient(new WebChromeClient() {
            public void onProgressChanged(WebView view, int progress)
            {
                activity.setTitle("Loading...");
                activity.setProgressBarVisibility(true);
                activity.setProgress(progress * 100);

                if(progress == 100){
                    activity.setTitle(R.string.app_name);

                }

            }

        });

        webView.setWebViewClient(new WebViewClient() {
            @Override
            public void onReceivedError(WebView view, int errorCode, String description, String failingUrl)
            {
                Toast.makeText(activity, "Oh no!"+ description, Toast.LENGTH_SHORT).show();

            }

            @Override
            public void onLoadResource (WebView view, String url) {


            }




            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url)
            {


                return true;
            }


        });





        webView.loadUrl("file:/android_asset/web/webpage.html");


}
catch (Exception e) {
    e.printStackTrace();
}


ImageButton btnBack = (ImageButton)this.findViewById(R.id.buttonBackCatalog);
btnBack.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View view) {
        if(webView.canGoBack()){
             webView.goBack();
        }else{
            Intent myIntent = new Intent(view.getContext(), FCFActivity.class);`
           `startActivityForResult(myIntent, 0);
        }


    }


});


/*
 * Actions for footer Buttons
 * 
 */

ImageButton buttonFooterMainHome = (ImageButton)findViewById(R.id.footerMainBtnHome);
buttonFooterMainHome.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View view) {
        Intent myIntent = new Intent(view.getContext(), FCFActivity.class);
        startActivityForResult(myIntent, 0);

    }
});


LinearLayout homeLinearLayout=(LinearLayout)this.findViewById(R.id.footerLayoutHome);
homeLinearLayout.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View view) {
        Intent myIntent = new Intent(view.getContext(), FCFActivity.class);
        startActivityForResult(myIntent, 0);

    }
});






}
     @Override
    public void onConfigurationChanged(final Configuration newConfig)
    {
        // Ignore orientation change to keep activity from restarting
        super.onConfigurationChanged(newConfig);

        if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {

        } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){

        }

    }
}

お返事を楽しみにしています。

ありがとう。

4

2 に答える 2

1

ああ、これは頭痛の種で、Android バージョンの 1 つでどのように動作するかが変更されましたが、どのバージョンか思い出せません。これが私がすることです:

webView.loadUrl("file:/android_asset/webpage.html");

静的 Web ページに画像がある場合は、次のリンクを使用します。

file:///android_asset/yourimage.png

編集してみてください: https://stackoverflow.com/a/8737547/969325、プロジェクトをクリーンアップして、アセット ファイルがパスにあるかどうかを確認します。

于 2012-05-14T13:03:11.720 に答える
0
- `You are using only htm use html` 


webview.getSettings().setJavaScriptEnabled(true);
webview.setWebViewClient(new myWebClient());
webview.loadurl();
and


 public class myWebClient extends WebViewClient  
         {  
             @Override  
             public void onPageStarted(WebView view, String url, Bitmap favicon) {  
                 // TODO Auto-generated method stub  
                 super.onPageStarted(view, url, favicon);  
             }  

             @Override  
             public boolean shouldOverrideUrlLoading(WebView view, String url) {  
                 // TODO Auto-generated method stub  

                 view.loadUrl(url);  
                 return true;  

             }  
         } 
于 2012-05-14T13:05:20.433 に答える