2016-11-22 2 views
-2

, так что я знаю, что часть onClick совершенно бесполезна, но на всякий случай она что-то меняет, я положил ее туда. поэтому я получил onClick, и я хотел бы, чтобы он добавил editText к текущей активности, которая называется activity_calculation. настоящее время у меня этот код, который я получил от другого вопроса:Android добавить 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); 

    } 

любая помощь будет оценена. возможно, вы можете увидеть, что ive сделано неправильно

+0

Почему вы создаете в OnClick .... Вы Скрыть текст редактирования и изменения видимости во OnClick Также ... Что может быть легко .... Вы можете считать, что слишком ... Если это возможно –

+1

@ MaharithAdityaSS Я использую onClick, потому что мне нужно, чтобы пользователь добавлял редактирующие тексты столько, сколько ему нужно, это не заданная сумма, где я могу изменить видимость, если вы понимаете, что я имею в виду ...? –

+0

Возможный дубликат [Android-приложения с программным обеспечением для программных приложений] (http://stackoverflow.com/questions/16730618/android-adding-textview-programatically) – AxelH

ответ

2

Сначала получите ссылку на макет корня деятельности. Для этого добавьте атрибут id в корневой макет файла макета вашего макета. например:

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

Затем получите ссылку на него и добавьте созданный EditText.

//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

спасибо, это полезно :) оценил –

+0

, что именно должно идти в круглой скобке, которая гласит: context –

+0

Попробуйте rootView.getContext() – rhari

Смежные вопросы