Android Myadapter.notifyDataSetChanged()引发错误

Android Myadapter.notifyDataSetChanged()引发错误,android,Android,我正在尝试刷新适配器和列表。但是,对于将方法Myadapter.notifyDataSetChanged()和list.clear()放在何处,我几乎不感到困惑,这样它们就可以为我工作了。。。任何人都可以编辑我的代码,并帮助我走出它。。这是我的密码 @凌驾 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); calendars = Uri.parse("c

我正在尝试刷新适配器和列表。但是,对于将方法Myadapter.notifyDataSetChanged()和list.clear()放在何处,我几乎不感到困惑,这样它们就可以为我工作了。。。任何人都可以编辑我的代码,并帮助我走出它。。这是我的密码

@凌驾

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    calendars = Uri.parse("content://com.android.calendar/events");
    managedCursor = getContentResolver().query(calendars, null, null, null, null);
    if(managedCursor.getCount()==0){
        Toast.makeText(getBaseContext(), "There Is No Event To Show", Toast.LENGTH_SHORT).show();
        Intent i=new Intent(DisplayEventActivity.this,EventCalendarActivity.class);
        startActivity(i);
        finish();

    }else{
    setContentView(R.layout.displayevent);
    id=getIntent().getExtras().getLong("ID");
    event_ListView=(ListView)findViewById(R.id.eventList);
    event_ListView.setOnItemClickListener(this);

    }
}

@Override
protected void onResume() {
    // TODO Auto-generated method stub
    super.onResume();
    model.getEventTitleList().clear();  
    myadapter.notifyDataSetChanged();
    event_ListView.setAdapter(myadapter);

    if(id==9){
        model=new MyEventModel(managedCursor);
        myadapter=new MyListAdapter(getApplicationContext(), model.getEventTitleList());
        event_ListView.setAdapter(myadapter);

    }else if(id==10){
        model=new MyEventModel(managedCursor);
        myadapter=new MyListAdapter(getApplicationContext(), model.getEventTitleList());
        event_ListView.setAdapter(myadapter);
    }

}


public void onItemClick(AdapterView<?> arg0, View view, int position, long arg3) {
    event_Id=model.getEventId();
    System.out.println("Event id from disp="+event_Id);
    Intent i=new Intent(DisplayEventActivity.this,UpdateEvent.class);
    i.putExtra("EventId", event_Id);
    startActivity(i);
    }
}
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
calendars=Uri.parse(“content://com.android.calendar/events");
managedCursor=getContentResolver().query(日历,null,null,null,null);
if(managedCursor.getCount()==0){
Toast.makeText(getBaseContext(),“没有要显示的事件”,Toast.LENGTH_SHORT.Show();
意图i=新意图(DisplayEventActivity.this、EventCalendarActivity.class);
星触觉(i);
完成();
}否则{
setContentView(R.layout.displayevent);
id=getIntent().getExtras().getLong(“id”);
event_ListView=(ListView)findViewById(R.id.eventList);
事件_ListView.setOnItemClickListener(此);
}
}
@凌驾
受保护的void onResume(){
//TODO自动生成的方法存根
super.onResume();
model.getEventTitleList().clear();
myadapter.notifyDataSetChanged();
事件_ListView.setAdapter(myadapter);
如果(id==9){
模型=新的MyEventModel(managedCursor);
myadapter=新的MyListAdapter(getApplicationContext(),model.getEventTitleList());
事件_ListView.setAdapter(myadapter);
}否则,如果(id==10){
模型=新的MyEventModel(managedCursor);
myadapter=新的MyListAdapter(getApplicationContext(),model.getEventTitleList());
事件_ListView.setAdapter(myadapter);
}
}
public void onItemClick(AdapterView arg0、视图视图、整型位置、长arg3){
event_Id=model.getEventId();
System.out.println(“disp中的事件id=“+事件id”);
意图i=新意图(DisplayEventActivity.this、UpdateEvent.class);
i、 putExtra(“事件Id”,事件Id);
星触觉(i);
}
}

在适配器中设置数据后,应通知数据更改

protected void onResume() {
    // TODO Auto-generated method stub
    super.onResume();
    model.getEventTitleList().clear();  
    event_ListView.setAdapter(myadapter);

    if(id==9){
        model=new MyEventModel(managedCursor);
        myadapter=new MyListAdapter(getApplicationContext(), model.getEventTitleList());
        event_ListView.setAdapter(myadapter);

    }else if(id==10){
        model=new MyEventModel(managedCursor);
        myadapter=new MyListAdapter(getApplicationContext(), model.getEventTitleList());
        event_ListView.setAdapter(myadapter);
    }
    myadapter.notifyDataSetChanged();


}

您正在使用myadapter.notifyDataSetChanged(); 在初始化myadapter之前。在使用之前初始化它