我有100個按鈕(從button000到999)。有沒有什麼辦法可以爲它們設置所有的onOnClick?因爲所有按鈕都具有相同的功能。 在此先感謝。setOnClick for 100 buttons
1
A
回答
1
如果您的按鈕佈局內再做這樣的。
int childcount = ll.getChildCount();
for (int i=0; i < childcount; i++){
View v = ll.getChildAt(i);
v.setOnCLickListener(this);
}
1
好友嘗試這種方式
import android.view.View.OnClickListener;
public class MyActivity extends Activity implements OnClickListener {
@Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button buttonA = (Button) findViewById(R.id.buttonA);
buttonA.setOnClickListener(this);
Button buttonB = (Button) findViewById(R.id.buttonB);
buttonB.setOnClickListener(this);
}
//etc... etc...
public void onClick(View v) {
switch (v.getId()) {
case R.id.buttonA:
// do something
break;
case R.id.buttonB:
// do something else
break;
}
}
+0
我認爲他想要避免typibg全部出局。 – Ahmad
1
在現在,我可以說,在
使用button000.setOnclicklistener(本)最簡單的方法;
:
:
button999.setOnclicklistener(this);
,並在當前的類實現OnClickListener ....
0
只需添加您的按鈕陣列和 只是循環按鈕和一個聽衆可以撥打下面的代碼塊:
for (int i=0; i < buttonArray.length; ++i){
buttonArray[i].onClick(this);
}
0
有兩種方法,一種是你可以通過onClick方法設置onClick在xml佈局文件中,你可以定義方法,當點擊按鈕時應該調用該方法。當您在xml中定義按鈕時,此方法是適當的。
如果要添加的活動按鈕,如果你是在一個循環中添加,那麼你可以,如果你確信這是你的應用程序來創建1000個按鈕的最好方式
for(int i=0; i<100; i++)
{
//Create and Add button
btn.setOnClickListener(new OnClickListener()
{
public void onClick(View view)
{
//Operations
}
});
}
1
這樣做,那麼這將是這樣的:
Button [] my_button=new Button[1000];
LinearLayout ll=(LinearLayout)findViewById(R.id.mylayout);
for (int i=0;i<1000;i++){
my_button[i]=new Button(this);
my_button[i].setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
my_button[i].setText("button "+i);
ll.addView(my_button[i]);
my_button[i].setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
////click event
}
});
}
0
如果所有按鈕都完全相同的功能,那麼你可以簡單的使用
private OnClickListener mListenr=new OnClickListener(
@Override
public void onClick(View v) {
//Whatever you want
}
for(int i=0; i<100; i++)
{
mButton[i].setOnClickListener(mListenr);
}
你可以參考this來看看如何實現監聽器。
0
最好的方法,使動態按鈕像
Integer[] button_Ids = {R.id.btn000,R.id.btn001...............,R.id.btn999};
for(int i=0;i<100;i++)
{
Button btn = (Button)findViewById(button_ids[i]);
btn.setOnClickListner(this);
}
@Override
public void onClick(View v)
{
Toast.make(getApplicationContext,"Hello",1000).show();
}
相關問題
- 1. ActivityGroup for Buttons without tabActivity
- 2. Action Bar Buttons only for one activity
- 3. swift image for row action buttons
- 4. 回收視圖setOnClick
- 5. Android setOnclick listner to listview
- 6. AddThis buttons
- 7. RelativeLayout with buttons
- 8. While Loop for 100 numbers
- 9. surfaceview + buttons findviewbyid returns null
- 10. ion-nav-buttons full width
- 11. Android按鈕setonclick返回null
- 12. Dynamcially sizing buttons iphone
- 13. Flash:Movieclips,Graphics,Buttons
- 14. Make buttons working
- 15. ShareThis Buttons Alignment
- 16. backstretch next&previous buttons
- 17. CakePHP Radio Buttons
- 18. align buttons - bootstrap 3
- 19. php post multiple buttons
- 20. UIImagePickerController Overlay Buttons Not Firing
- 21. SetOnclick動態創建一個按鈕
- 22. CWC-ID 100 Fix for MVC5
- 23. UIActionSheet with non- dissmissing buttons
- 24. AlertDialog setSingleChoice without radio buttons
- 25. Ruby on Rails,Bootstrap&Buttons
- 26. Android MediaController Next Previous Buttons
- 27. Android Listview with clickable buttons
- 28. Android:在片段中使用.setOnClick
- 29. 爲什麼setOnclick Button不起作用?
- 30. Android類實現OnClick和setOnClick方法
將它們放在一個列表,循環在列表中,你需要做什麼。 – assylias
使用'Button'並對其進行擴展並在其中聲明setOnClick。 – Herry