Я программно создал линейный макет в своей Деятельности, как показано ниже:
LinearLayout myContent = new LinearLayout(this);
myContent.setOrientation(LinearLayout.VERTICAL);
Затем я определил текстовое представление в формате xml (под res / layout /), как показано ниже:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/name_text"
android:layout_width="80dp"
android:layout_height="40dp"
android:gravity="center"
/>
После этого я хотел бы добавить несколько TextView
, определенных выше, к myContent
линейному макету программно, как показано ниже:
//my content is a linear layout
LinearLayout myContent = new LinearLayout(this);
myContent.setOrientation(LinearLayout.VERTICAL);
for(int i=0; i<10; i++){
//get my text view resource
TextView nameField = (TextView)findViewById(R.id.name_text);
nameField.setText("name: "+Integer.toString(i)); //NullPointerException here
}
myContent.addView();
Я думал, что приведенный выше код должен добавить 10 TextView
с именем вmyContent
линейная планировка.Но я получаю NullPointerException в nameField.setText(...);
(см. Код выше). Почему?
PS (обновление)
myContent
Линейное расположение добавлено к другому линейномумакет, который определен в main.xml, и моя активность имеет setContentView (R.layout.main)