2016-09-06 71 views
0

我有很多创建的按钮,现在我想“得到”他们使用findViewById和for循环:找了很多使用for循环(Android Studio中)按钮

public class MainActivity extends AppCompatActivity { 

Array buttons[]; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    for(int i = 0; i < 10; i++){ 
     String buttonID = "number" + i; 
     int resID = getResources().getIdentifier(buttonID, "id", getPackageName()); 
     buttons[i] = ((Button) findViewById(resID)); 
    } 
    } 
} 

但在该行

buttons[i] = ((Buttons) findViewById(resID)); 

我得到这个错误:

Incompatible types. Required: java.lang.reflect.Array Found: android.widget.button

+0

如果是的话,我需要哪一个? – 404response

回答

2

更改

Array buttons[]; 

Button[] buttons = new Button[10]; 
+3

很好的答案,如果你知道最多会有10个按钮。如果您不确定使用ArrayList

0

使用下面的代码。

public class MainActivity extends AppCompatActivity { 

Array buttons[]; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main); 

buttons = new Button[10]; 

for(int i = 0; i < 10; i++){ 
    String buttonID = "number" + i; 
    int resID = getResources().getIdentifier(buttonID, "id", getPackageName()); 
    buttons[i] = ((Button) findViewById(resID)); 
} 

}}