2016-09-06 70 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)); 
} 

}}