我在 Activity 中有许多按钮,单击它们我需要打开不同的网页,其 URL 存储在 ArrayList 集合中。我想使用一个循环,但我得到一个“不能引用以不同方法定义的内部类中的非最终变量”。
public class MainActivity extends Activity {
public List<String> links = new ArrayList<String>();
public static final int NRBUTTONS = 7;
..........................
@Override
protected void onCreate(Bundle savedInstanceState) {
..........
..........
int id = R.id.button1 - 1;
for (int index=0; index<NRBUTTONS; index++) {
Button b = (Button) findViewById(++id);
String text = titles.get(index);
b.setText(text);
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent browserIntent = new Intent (Intent.ACTION_VIEW,
Uri.parse(links.get(index)));
startActivity(browserIntent);
}
});
}
...........
}
另外,如果你能帮助我请
Button b = (Button) findViewById(R.id.button1);
Button b = (Button) findViewById(R.id.button2);
Button b = (Button) findViewById(R.id.button3);
Button b = (Button) findViewById(R.id.button4);
我怎么能循环写这个?