簡體   English   中英

Android Studio:從url加載圖像時出現問題

[英]Android Studio: Problems loading images from url

大家好,我有一些問題...

我正在使用imageviews制作新的應用程序並從Web加載圖像,我編寫了代碼,第一次下載了圖像,但是下次打開應用程序時,它將加載與第一次相同的圖像,並且在我的服務器上我用其他圖像替換了這些圖像一個(具有相同的名稱和擴展名)。 我需要你的幫助

這是我的片段代碼:

package layout;



 import android.os.Bundle;
   import android.os.CountDownTimer;
   import android.support.v4.app.Fragment;
   import android.support.v4.view.ViewPager;
   import android.view.LayoutInflater;
   import android.view.View;
   import android.view.ViewGroup;
   import android.webkit.WebSettings;
   import android.webkit.WebView;
   import android.webkit.WebViewClient;
   import android.widget.FrameLayout;
   import android.widget.LinearLayout;
   import android.widget.ProgressBar;

   import com.example.pecurka.clubdraganm.R;
   import com.loopj.android.image.SmartImageView;


   public class second_frag extends Fragment {
private ProgressBar progress;
private String url;



@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.second_frag, container, false);
    url = getArguments().getString("msg");

    SmartImageView myImage2 = (SmartImageView) v.findViewById(R.id.my_image2);
    myImage2.setImageResource(R.drawable.logo);
    myImage2.setImageUrl(url);



    FrameLayout r_frag2 = (FrameLayout) v.findViewById(R.id.reservieren_frag2);
    r_frag2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            ViewPager pager = (ViewPager) getActivity().findViewById(R.id.viewPager);
            pager.setVisibility(View.GONE);

            LinearLayout indicator = (LinearLayout) getActivity().findViewById(R.id.indicator);
            indicator.setVisibility(View.GONE);

            progress = (ProgressBar) getActivity().findViewById(R.id.progressBar1);
            progress.setVisibility(View.VISIBLE);

            WebView web = (WebView) getActivity().findViewById(R.id.webView);
            web.loadUrl("http://plastifikacija-bogdanic.com/dm/reservierung");
            web.setWebViewClient(new MyWebViewClient());

            WebSettings webSettings = web.getSettings();
            webSettings.setJavaScriptEnabled(true);
            getActivity().setTitle("Reservierung");


        }
    });



    return v;





}

public static second_frag newInstance(String text) {

    second_frag f = new second_frag();
    Bundle b = new Bundle();
    b.putString("msg", text);

    f.setArguments(b);

    return f;
}


private class MyWebViewClient extends WebViewClient {


    @Override
    public void onPageFinished(WebView view, String url) {
        progress.setProgress(100);
        progress.setVisibility(View.GONE);
        WebView web = (WebView) getActivity().findViewById(R.id.webView);
        web.setVisibility(View.VISIBLE);

        FrameLayout reservieren = (FrameLayout) getActivity().findViewById(R.id.submitbtn);
        reservieren.setVisibility(View.VISIBLE);

        super.onPageFinished(view, url);

    }


}

}

我有三個與此片段相同的片段,該片段顯示在viewpager中,我將替換服務器上的圖像,這些圖像將在下次啟動應用程序時自動加載。

謝謝

您正在使用SmartImageView庫,該庫將圖像緩存在磁盤上以備將來加載。 如此處所述: http : //loopj.com/android-smart-image-view/

如果您已經更新了服務器上的映像並想清除緩存,則可以使用以下方法進行:

WebImageCache cache = new WebImageCache(context);
cache.clear();

或者,您可以在以下路徑上從磁盤上手動刪除緩存的文件:“ / web_image_cache /”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM