getApplicationContext() выдает исключение при использовании

Я указал класс на основе другого в существующем проекте Android. Предполагается, что метод addRow() динамически добавляет строки в таблицу. При создании нового TextView для добавления в мою строку, а также при создании этой строки я должен указать «контекст». Текущий способ, попытка "getApplicationContext()" вызывает исключение NullPointerException. Так откуда я должен взять этот контекст?

public class DistanceTableView extends ContactListActivity
{
    public void addRow(LocationMessage locationMsg){
        View messageView = theInflater.inflate(R.layout.homepage, null);
        TableLayout table = (TableLayout)messageView.findViewById(R.id.distanceTable);

        TextView senderNameTextView = new TextView(getApplicationContext());
        senderNameTextView.setText(locationMsg.getSenderName());

        TableRow tr = new TableRow(getApplicationContext());
        tr.addView(distanceTextView);
        table.addView(tr);

        rows.addFirst(messageView);
    }
}

Класс, который расширяет мой взгляд:

public class ContactListActivity extends MapActivity implements
        ConnectionListener {}

person Lars    schedule 31.01.2011    source источник
comment
Как вы используете DistanceTableView? Кроме того, может помочь, если мы посмотрим, как реализуется ContactListActivity.   -  person McStretch    schedule 31.01.2011


Ответы (2)


Я думаю, вам нужно передать контекст конструктору вашего класса.

person AndyAndroid    schedule 31.01.2011
comment
Это помогло. Я думал, что контекст всегда будет одинаковым, когда я расширяю этот класс. Спасибо - person Lars; 31.01.2011

Попробуйте это вместо этого:

TableRow tr = new TableRow(this);

person hanspeide    schedule 31.01.2011
comment
Это также вызывает исключение - person Lars; 31.01.2011