找不到ListView

时间:2019-02-08 14:08:54

标签: java android

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);
    }
  });
}

1 个答案:

答案 0 :(得分:0)

我做了一次清理和重建,并且按预期工作。我从来没有遇到过这个问题,所以我没有考虑将其作为解决方案。 谢谢。