我还在学习,我试图解决这个问题,我想我会问专家。有什么想法吗?
我在这一行得到错误: 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]);
答案 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);
}