SetActivityMain 工作正常,但Show_Soundfile_List不起作用,因为找不到 ListView 并导致 lv = null(如果我是对的(。
知道这是为什么吗?两者都具有几乎相同的代码和设置,所以我不确定为什么一个能够找到它的ListView而不是另一个。
错误代码:
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
法典:
public void SetActivityMain() {
setContentView(R.layout.activity_main);
ListView lv = (ListView) findViewById(R.id.lv_alarms);
Button btn = (Button) findViewById(R.id.btn_new_alarm);
lv.setAdapter(new MyListAdapter_alarm(MainActivity.this, R.layout.list_alarms, alarms));
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
NewAlarm(new Alarm());
}
});
}
void Show_Soundfile_List(final Alarm alarm) {
setContentView(R.layout.activity_soundfile_list);
ListView lv = (ListView) findViewById(R.id.lv_soundfiles);
Button btn = (Button) findViewById(R.id.btn_list_soundfile);
lv.setAdapter(new MyListAdapter_SoundFile(MainActivity.this, R.layout.list_soundfiles, soundfiles, alarm));
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
EditAlarm(alarm);
}
});
}
我做了一个清理和重建,它按预期工作。我从来没有遇到过这个问题,所以我没有考虑过它作为解决方案。谢谢。