Динамически добавить текст редактирования - PullRequest
0 голосов
/ 15 декабря 2011

Я хочу добавить текстовое поле для редактирования в мое приложение, когда нажимаю кнопку, но я не изменяю макет.Просто добавьте его ниже существующего, определенного в XML-файле.Допустим, у меня есть приложение для контактов, и если пользователю нужно добавить дополнительное поле, нажмите кнопку и создайте его!Как это сделать?

Ответы [ 3 ]

5 голосов
/ 15 декабря 2011

Сохраните элемент EditText в макете и установите его видимость на исчез .

 <EditText android:visibility="gone" android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>

Затем для события onClick кнопки установите видимость на visible .

или

Вы можете добавлять элементы EditText программно.

Добавьте LinearLayout в ваш xml.

<LinearLayout
        android:id="@+id/editTextGroupLayout"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >
    </LinearLayout>

При событии нажатия кнопки программно добавьте EditText.

LinearLayout linearLayout = (LinearLayout) findViewById(R.id.editTextGroupLayout);
    EditText editTextView = new EditText(this);
    editTextView.setGravity(Gravity.CENTER);

    LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT,
        LayoutParams.WRAP_CONTENT, 1);

    editTextView.setLayoutParams(params);

    linearLayout.addView(editTextView);

Надеюсь, это поможет.

1 голос
/ 15 декабря 2011

То, что вы можете сделать, это разместить эти EditText на панели, то есть сгруппировать их в панели, затем иметь кнопку, и при нажатии кнопки создать экземпляр EditText и добавить его на соответствующую панель.Таким образом, вы не ограничиваетесь возможностью добавления только одной панели, но столько, сколько пользователь хотел бы добавить.

0 голосов
/ 15 декабря 2011

В первую очередь вы вызываете данные из веб-сервиса.

Например: description = Parser.getDescription;

В макете XML:

 <Button android:id="@+id/button" android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:onClick="@string/ButtonClick"/>

 <EditText android:id="@+id/note" android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

Код:

        ButtonName  = (Button)findViewById(R.id.note);
        Data    = (EditText)findViewById(R.id.note);
        public void ButtonClick(View v){            
        description = Parser.getDescription;
        Data.settext(description);
    }
...