0

我还在学习,我试图弄清楚这一点,我想我会问专家。有任何想法吗?

我在这一行得到错误: 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]);
4

2 回答 2

3

您访问这样的数组:

Button btn = (Button) findViewById( btnIds[i] );
于 2012-05-04T08:57:40.460 回答
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); 
}
于 2012-05-04T09:03:31.180 回答