![](/img/trans.png)
[英]Click listener for multiple buttons ive created dynamically Android Studio
[英]How to perform onclick action on multiple buttons created dynamically in Android Studio
只需在您的活動中添加onCLickListener
View.OnClickListener onClickListener=new View.OnClickListener() {
@Override
public void onClick(View v) {
// put condition as per id of view
}
};
//這里,同時創建動態添加點擊列表
Button button=new Button(ButtonActivity.this);
button.setText("Button"+i);
button.setId(1000+i);
button.setOnCLickListener(onClickListener);
希望我給您解決方案。
在活動上實現OnClickListener()
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.oneButton:
// do your code
break;
case R.id.twoButton:
// do your code
break;
case R.id.threeButton:
// do your code
break;
default:
break;
}
}
希望對您有幫助。
如果我以正確的方式理解您的問題,則需要在為五個按鈕創建按鈕啟動循環時為按鈕分配ID
for(i=1;i<=5;i++){
Button button=new Button(Activity.this);
button.setId(R.id.existingButtonId+i);
button.setWidth(LinearLayout.LayoutParams.MATCH_PARENT);
button.offsetTopAndBottom(40);
button.setHint("hint x ");
yourLayout.addView(button);
}
之后,在您的活動上使用onClickListener並使用
public void onClick(View v) {
switch (v.getId()) {
case R.id.ex1:
//call textToSpeech for exercise one
break;
case R.id.ex2:
//call textToSpeech for exercise two
break;
default:
break;
}
}
在增加新按鈕/視圖的同時添加clicklistener。
private void addNewExcercise(String exercise) {
Button button = new Button(ActivityMain.this);
button.setText(exercise);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// do ur task here
}
});
parentLinearLayout.addView(button);
}
SecondActivity(按鈕顯示)無需創建Activity創建Java文件並將其添加到清單中
GridLayout gridLayout=new GridLayout(this);
ViewGroup.LayoutParams layoutParams=new ViewGroup.LayoutParams(GridLayout.LayoutParams.MATCH_PARENT,GridLayout.LayoutParams.WRAP_CONTENT);
gridLayout.setLayoutParams(layoutParams);
gridLayout.setColumnCount(2);
setContentView(gridLayout);
if(getIntent()!=null){
int buttoncount=getIntent().getIntExtra("value",0);
for(int i=0;i<buttoncount;i++){
Button button=new Button(ButtonActivity.this);
button.setText("Button"+i);
button.setId(1000+i);
button.setBackgroundResource(R.drawable.button_back);
button.setPadding(10,10,10,10);
gridLayout.addView(button);
}
}
用於背景的Xml文件(在drawable內部創建此文件)
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="#66ff0000" />
<size
android:width="120dp"
android:height="120dp"/>
</shape>
然后使用任何混淆都是Java文件的完整代碼
public class ButtonActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
GridLayout gridLayout=new GridLayout(this);
ViewGroup.LayoutParams layoutParams=new ViewGroup.LayoutParams(GridLayout.LayoutParams.MATCH_PARENT,GridLayout.LayoutParams.WRAP_CONTENT);
gridLayout.setLayoutParams(layoutParams);
gridLayout.setColumnCount(2);
setContentView(gridLayout);
if(getIntent()!=null){
int buttoncount=getIntent().getIntExtra("value",0);
for(int i=0;i<buttoncount;i++){
Button button=new Button(ButtonActivity.this);
button.setText("Button"+i);
button.setId(1000+i);
button.setBackgroundResource(R.drawable.button_back);
button.setPadding(10,10,10,10);
gridLayout.addView(button);
}
}
}
}
清單文件
<activity android:name=".ButtonActivity"></activity>
並使用上面的背景文件...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.