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 に答える