1

如何设置数组以更改多个按钮的异步下载任务的 URL?这不起作用,我不知道如何解决它。

final String[] dlUrl = new String[]{"www.google.com/document.pdf", "www.google.com/document2.pdf", "www.google.com/document3.pdf"};{ 
for(int k = 0; i < dlUrl.length; i++) { 
    final String dlUrl = downloadFile.execute([k]); 


}

我试图让它更改以下代码部分:

private void startDownload() {
    DownloadFile downloadFile = new DownloadFile();
    downloadFile.execute("http://www.google.com/doc.pdf");

}

以及异步任务本身:

class DownloadFile extends AsyncTask<String, Integer, String> {

URL url = new URL(aurl[0]);
URLConnection connection = url.openConnection();

我有一个类似的数组可以拾取按钮按下,我想尝试将它添加到它......有什么想法吗?

final OnClickListener listener = new OnClickListener() { 
     public void onClick(View v){ 
         switch(v.getId()){  
         case R.id.sec1:  
            break; 
         case R.id.sec2: 
            break; 
         case R.id.sec3: 
            break; 
         } 
     } 
};
final int[] btnIds = new int[]{R.id.sec1, R.id.sec2, R.id.sec3};{ 
for(int i = 0; i < btnIds.length; i++) { 
    final Button btn = (Button) findViewById (btnIds[i]); 
    btn.setOnClickListener(listener); 
}
4

1 回答 1

2
final String[] dlUrl = new String[]{"www.google.com/document.pdf",
                                    "www.google.com/document2.pdf",
                                    "www.google.com/document3.pdf"};{ 

for(int k = 0; i < dlUrl.length; i++) { 
    final String dlUrl = downloadFile.execute([k]); 


}

可能应该更像

final String[] dlUrl = new String[]{"www.google.com/document.pdf",
                                    "www.google.com/document2.pdf",
                                    "www.google.com/document3.pdf"}; // { removed

for(int k = 0; k < dlUrl.length; k++) { 
               ^

    final String currentUrl = dlUrl[k];
                              ^^^^^^^^

    downloadFile.execute(currentUrl); 
}

关于你自己的评论:

通过反复试验学习 Java 和 android 是困难的

...我必须补充一个非常糟糕的主意。

于 2012-05-04T09:43:21.637 回答