Android - Eclipse:令牌上的语法错误“(”,此令牌后预期的表达式

时间:2012-05-04 08:54:31

标签: java android arrays asynchronous download

我还在学习,我试图解决这个问题,我想我会问专家。有什么想法吗?

我在这一行得到错误: final Button btn =(Button)findViewById([btnIds]);

public class choiceTest extends Activity{



@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.atcchoice);
}
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]); 
    btn.setOnClickListener(listener); 
}



}
}

此外,这是一个下载程序,我使用Async下载我的文件。我可以在上面的代码中添加什么来将我的下载程序URL更改为其他URL?否则我会有一个很长的代码......下面是如何下载URL代码。

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

}

下载它的异步代码:

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

URL url = new URL(aurl[0]);

2 个答案:

答案 0 :(得分:3)

您可以访问如下数组:

Button btn = (Button) findViewById( btnIds[i] );

答案 1 :(得分:0)

你正在传递整个数组。 改变它:

for(int i = 0; i < btnIds.length; i++) { 
    final Button btn = (Button) findViewById ([btnIds]); 
    btn.setOnClickListener(listener); 
}

for(int i = 0; i < btnIds.length; i++) { 
    final Button btn = (Button) findViewById (btnIds[i]); 
    btn.setOnClickListener(listener); 
}