在onCreate()
方法中,我有以下代码:
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.mapview);
setupGui();
mHandler = new Handler();
mv = new MapView();
(new Thread(){
public void run() {
while (true) {
try {
Thread.sleep(1000);
mHandler.post(new Runnable() {
@Override
public void run() {
mv.createPlane(true);
}
});
} catch (Exception e) {
}
}
}
}).start();
}
其中mv是我所在类的名称,其中包含用于将一些新元素放到UI上的createPlane(boolean)
方法。这个方法:
public void createPlane(boolean left) {
linL = (LinearLayout) findViewById(R.id.ll);
}
这不起作用。 (NullPointerException
)findViewById()
答案 0 :(得分:0)
可能,问题在于您的订单。在尝试按ID查找该视图中的视图之前,您必须对视图进行充气。在你夸大任何东西之前,你正试图findViewById
!你只拥有MapView
个对象。
您需要确保在运行线程之前,包含R.id.ll
的视图会膨胀。