Android - TextView (oder EditText) programmgesteuert erstellen und an einer bestimmten Stelle auf dem Bildschirm mit Koordinaten festlegen

Ich baue eine Android-App, in der der Benutzer einige Objekte auf den Bildschirm malt. Ein Objekttyp ist ein Textobjekt. Der Benutzer erstellt das Objekt durch Ziehen mit dem Finger und das Objekt wird als Rechteck angezeigt, das verschoben / umgeformt werden kann. Wenn der Benutzer auf das Textobjekt tippt, starte ich eine neue Aktivität, in der der Benutzer Text eingibt, den ich über die onActivityResult-Methode zurückgebe.

Jetzt möchte ich den Text im Objekt anzeigen. Ich kann auf die Koordinaten des Rechtecks ​​usw. aus meiner Textklasse zugreifen. Im Wesentlichen möchte ich eine TextView (oder EditText) programmgesteuert erstellen und ihre Grenzen als die Grenzen meines Rechtecks ​​festlegen, in das mein Objekt gezeichnet wird. Gibt es eine Methode, die mir dabei helfen kann?

(Ein anderer Ansatz wäre die Verwendung der canvas.drawTextOnPath-Methode in meinem Textobjekt. Dies scheint jedoch komplizierter zu sein, da mein Text möglicherweise aus dem Objekt herauskommt und ich auch die Mehrfachzeilen behandeln müsste.)

Vielen Dank im Voraus!

EDIT: GAMA's Ansatz ausprobieren

protected void onActivityResult(int requestCode, int resultCode, Intent data) {                 
  switch(requestCode) { 
  case 1:
      if (resultCode == Activity.RESULT_OK) { 
            String text=data.getStringExtra("text");
            System.out.println(text);
            TextView tv=new TextView(this);
            //LayoutParams lp = new LayoutParams(new ViewGroup.MarginLayoutParams((int)texts.get(index).width,(int)texts.get(index).height));
            LayoutParams lp = new LayoutParams(new ViewGroup.MarginLayoutParams(100,100));
            //tv.setLayoutParams(lp);
            //lp.setMargins((int)texts.get(index).Sx, (int)texts.get(index).Sy, (int)texts.get(index).Lx, (int)texts.get(index).Ly);

            tv.setLayoutParams(lp);
            tv.setTextSize(10);
            tv.setTextColor(Color.RED);
            tv.setText(text);
            lp.setMargins(0,0,0,0);
            //tv.setVisibility(View.VISIBLE);
            System.out.println("got "+tv.getText());
            }
      break;
      }
  }  

Beide Ausdrucke zeigen den Text wie erwartet, aber ich sehe nichts auf dem Bildschirm (versucht, ihn anfangs links unten einzustellen).

Antworten auf die Frage(3)

Ihre Antwort auf die Frage