2016-11-09 7 views
2

私はチュートリアルに従って、.pdfファイルをダウンロードするアプリケーションを作成する方法を追ってきました。ここでダウンロードマネージャgetSystemServiceを解決できません

はコードです:

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_vertretungsplan); 
    Button dlbutton = (Button) findViewById(R.id.buttondownload); 
    dlbutton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      DownloadManager.Request request = new DownloadManager.Request(Uri.parse(myurl)); 
      request.setTitle("Vertretungsplan"); 
      request.setDescription("wird heruntergeladen"); 
      request.allowScanningByMediaScanner(); 
      request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); 
      String filename = URLUtil.guessFileName(myurl,null, MimeTypeMap.getFileExtensionFromUrl(myurl)); 
      request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS + "Schul-App",filename); 
      DownloadManager manager =(DownloadManager) this.getSystemService(Context.DOWNLOAD_SERVICE); 
      manager.enqueue(request); 
     } 
    }); 

それは私にエラーを示しています。それは、そのオブジェクトを参照する代わりにView.OnClickListener内だから

Cannot resolve method 'getSystemService(java.lang.string)'

+0

がthis'接頭辞 'なし' getSystemService'を使用することができます行う必要があります。 –

答えて

2

thisは、あなたが作業しているオブジェクトを参照しますアクティビティクラス。このような

何かが

final Context c = this; 
dlbutton.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View view) { 
     //... 
     DownloadManager manager =(DownloadManager) c.getSystemService(Context.DOWNLOAD_SERVICE); 
     manager.enqueue(request); 
    } 
}); 
関連する問題