Ich wundere mich über diese seltsame Sache. Ich möchte eine Schaltfläche erstellen und wenn die Schaltfläche geklickt wird, möchte ich eine neue Schaltfläche erstellen und die alte entfernen, alles nur mit Code.Erstellen Sie die Schaltfläche programmgesteuert und erstellen Sie die nächste Schaltfläche von der ersten Schaltfläche mit Listener
Hier ist mein Code so weit und es funktioniert nicht wie ich gehofft hatte. Irgendwelche Eingaben hier? Vielen Dank.
public void createRounds(int rounds){
ArrayList<Button> buttonArray = new ArrayList<>();
for(int i=0;i<=rounds;i++){
bk = new Button(getActivity());
bk.setLayoutParams(new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT));
bk.setBackground(getResources().getDrawable(R.drawable.btnshapegreen));
bk.setId(i);
bk.setText("Button "+i);
buttonArray.add(bk);
}
for(final Button a : buttonArray){
generated_time.addView(a);
a.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(getActivity(),a.getText().toString(),Toast.LENGTH_LONG).show();
generated_time.removeView(a);
}
});
}
}
Ich weiß, dass die für-jede Schleife aller Tasten auf einmal hinzufügt, aber isnt es eine Möglichkeit, einen nach dem anderen hinzufügen?
Vielleicht können Sie einfach seine ID ändern? und machen Sie einen globalen onclicklistener, dann können Sie mit Ihrem Plan gehen, was auch immer Sie auf Ihrem Hörer tun möchten. –