我已经基于现有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 {}

最佳答案

我猜您必须将上下文传递给类的构造函数。

关于android - 使用时getApplicationContext()引发异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4851394/

10-10 17:12