Динамически добавить TextView - Android - PullRequest
3 голосов
/ 09 сентября 2011

Как я могу динамически добавить TextView к этому?Закомментированный код не работает.

public class myTextSwitcher extends Activity {

    private TextView myText;
    public myTextSwitcher(String string){

        //myText = new TextView(this);
        //myText.setText("My Text");
    }
}

Ответы [ 4 ]

4 голосов
/ 09 сентября 2011

Вы создаете текстовое представление и устанавливаете его значение, но не указываете, где и как оно должно отображаться.Ваш объект myText должен иметь некоторый контейнер, который сделает его видимым.

То, что вы пытаетесь сделать, это динамически размещать представление.Смотрите здесь хорошую статью для начинающих .Из статьи:

// This is where and how the view is used
TextView tv = new TextView(this);
tv.setText("Dynamic layouts ftw!");
ll.addView(tv);

// this part is where the containers get "wired" together
ScrollView sv = new ScrollView(this);
LinearLayout ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);
sv.addView(ll);
1 голос
/ 09 сентября 2011

Прежде всего, вы не должны добавлять его в конструктор, конструкторы не по умолчанию бесполезны для Activity. Наконец, вы правильно создаете новый TextView, но никуда его не добавляете. Возьмите layout в свой контент-контент (возможно, с findViewById) и позвоните layout.addView(myText) с ним.

0 голосов
/ 05 ноября 2015

в методе oncreate ()

    final TextView tv1 = new TextView(this);
    tv1.setText("Hii Folks");
    tv1.setTextSize(14);
    tv1.setGravity(Gravity.CENTER_VERTICAL);
    LinearLayout ll = (LinearLayout) findViewById(R.id.lin);
   ll.addView(tv1);

Ваша активность_основной.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/lin"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_vertical|center_horizontal"
    android:orientation="horizontal">
</LinearLayout>
0 голосов
/ 09 сентября 2011

Добавили ли вы текстовое представление в упражнение, используя setContentView(myText);

сделать это

myText = new TextView(this);
myText.setText("foo");
setContentView(myText);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...