Dynamisches Erstellen / Entfernen von Schaltflächen in Android

Zunächst entschuldige ich mich, wenn diese Antwort hier bereits verfügbar ist, da ich einige Wochen lang gesucht habe und noch nichts gefunden habe.

Ich arbeite an einer Android-App, die es dem Benutzer ermöglichen muss, Schaltflächen zu erstellen und zu entfernen. Ich weiß, wie man Schaltflächen normalerweise statisch erstellt, indem man die Schaltfläche der XML-Datei hinzufügt und ihre Funktionalität in der JAVA-Datei erstellt.

Stattdessen habe ich eine statische Schaltfläche, die ich als "Schaltfläche erstellen" bezeichnen werde. Wenn der Benutzer auf die Schaltfläche "Erstellen" drückt, sollte ihm die Option gegeben werden, der aktuellen Aktivität eine neue Schaltfläche hinzuzufügen, damit er den Titel der Schaltfläche usw. ändern kann. Wenn er die App schließt und sie wieder öffnet; Der hinzugefügte Button sollte noch vorhanden sein. Ebenso sollte ihnen die Option gegeben werden, Schaltflächen zu entfernen.

Kann mich jemand in die richtige Richtung weisen? Die meisten Quellen, auf die ich gestoßen bin, erklären nur, wie man Schaltflächen statisch erstellt, wie ich es zuerst erwähnte.

Danke für die Hilfe

EDIT: Ich konnte anhand der Rückmeldungen, die ich erhalten habe, einiges herausfinden.

Bisher habe ich den folgenden Code in der onOptionsItemSelected () -Methode:

    if (id == R.id.add_button) 
        {
        Button myButton = new Button(this);
        myButton.setText("Push Me");
        //myButton.setVisibility(View.VISIBLE);
        return true;    
        }

Ich bin immer noch ein wenig verwirrt darüber, wie dies zum Layout hinzugefügt werden kann. Hauptsächlich bin ich verwirrt über den findViewById-Aufruf:

    RelativeLayout layout = (RelativeLayout)findViewById(R.id.?);

Welche ID soll ich verwenden? In der Haupt-XML-Datei der App gibt es keine ID für das Layout selbst. Es ist nur ein "RelativeLayout".

EDIT2:

igentlich habe ich das Problem gelöst. Danke für den Hinweis! Ich musste meinem Layout nur eine ID in der XML-Datei geben. Ich wusste, dass ich Schaltflächen usw. eine ID geben konnte, aber ich wusste nie, dass ich dies für das eigentliche Layout selbst tun konnte!

Antworten auf die Frage(4)

Ihre Antwort auf die Frage