2016-11-22 3 views
-2

so weiß ich, dass die onClick Teil ist ziemlich nutzlos, aber nur für den Fall, dass es etwas ändert, ich lege es dort. So habe ich das onClick erhalten, und ich möchte, dass es den editText der aktuellen Aktivität hinzufügt, die activity_calculation heißt. Im Moment habe ich diesen Code, die ich von einer anderen Frage bekam:Android hinzufügen editText proggramatically onClick

public void addCalc(View view){ 

EditText myEditText = new EditText(context); // Pass it an Activity or Context 
     myEditText.setLayoutParams(new LinearLayoutCompat.LayoutParams(MATCH_PARENT,WRAP_CONTENT)); // Pass two args; must be LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT, or an integer pixel value. 
     activity_calculation.addView(myEditText); 

    } 

jede mögliche Hilfe würde geschätzt. Vielleicht können Sie sehen, was ich falsch gemacht habe

+0

Warum Sie in onClick schaffen .... Sie bitte den Text bearbeiten und ändern Sicht bei onClick Auch ... die leicht sein könnte .... Sie können das auch Betrachten ... Wenn möglich –

+1

@ MaharithAdityaSS Ich benutze onClick, weil ich den Benutzer brauche, um Texte zu editieren, so viel er braucht, es ist kein festgelegter Betrag, wo ich die Sichtbarkeit ändern kann, wenn du verstehst was ich meine ...? –

+0

Mögliche Duplikate von [Android Textansicht programmatisch hinzufügen] (http:// Stackoverflow.com/questions/16730618/android-adding-textview-programatically) – AxelH

Antwort

2

Zuerst erhalten Sie einen Verweis auf die Root-Layout der Aktivität. Fügen Sie dazu dem Stammlayout Ihrer Aktivitätslayoutdatei ein ID-Attribut hinzu. zB:

<LinearLayout 
    android:id="+id/rootLayout" /> 

Dann erhalten Sie einen Verweis darauf und fügen Sie den erstellten EditText hinzu.

//If your root layout is a RelativeLayout, use that instead 
LinearLayout rootView = (LinearLayout) findViewById(R.id.rootLayout); 
EditText myEditText = new EditText(rootView.getContext()); 
myEditText.setLayoutParams(new LinearLayoutCompat.LayoutParams(MATCH_PARENT,WRAP_CONTENT)); 
rootView.addView(myEditText); 
+0

Danke, das ist hilfreich :) geschätzt –

+0

was genau in die Klammer gehen soll, die besagt Kontext –

+0

Versuchen Sie, rootView.getContext() – rhari