에러 메세지
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.gmail.croutonfactory.workoutalarm/com.gmail.croutonfactory.workoutalarm.AlarmSet.AlarmAct}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object android.content.Context.getSystemService(java.lang.String)' on a null object reference
java
package com.gmail.croutonfactory.workoutalarm.AlarmSet;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ListView;
import com.gmail.croutonfactory.workoutalarm.R;
import java.util.ArrayList;
/**
* Created by USER on 2016-07-01.
*/
public class AlarmAct extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
getSupportActionBar().setTitle("Alarm Settings");
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
setContentView(R.layout.alarmset);
final ArrayList<ListViewItem> setar = new ArrayList<ListViewItem>();
setar.add(new ListViewItem(0, ""));
setar.add(new ListViewItem(1, "요일 반복"));
setar.add(new ListViewItem(2, "알람 소리"));
setar.add(new ListViewItem(3, "볼륨 조절"));
setar.add(new ListViewItem(4, "영상 선택"));
final ListViewAdapter adapter = new ListViewAdapter(setar); //에러나는부분
final ListView listView = (ListView)findViewById(R.id.settinglist);
listView.setAdapter(adapter);
}
@Override
public boolean onCreateOptionsMenu(Menu menu){
getMenuInflater().inflate(R.menu.menu_alarm, menu);
return true;
}
// @Override
public boolean onOptionsItemSeleted(MenuItem item){
int id = item.getItemId();
if(id==R.id.save_btn){
ListViewAdapter lva = null;
lva.setAlarm();
finish();
}
if(id==R.id.delete_btn){
finish();
}
if(id==android.R.id.home){
finish();
}
return super.onOptionsItemSelected(item);
}
}
//이 리스트뷰를 클릭에서 이 AlarmSet.java를 불러오면 앱이 강종됩니다.
//잘되다가 어딜 잘못 만졌는데 너무 초보라 검토해도 모르겠네요..ㅠㅠ
//AlarmSet이 품고 있는 리스트뷰어댑터가 문제인거 같아서 어댑터도 밑에 올립니다ㅠㅠ 고수님들 도와주십쇼
public class ListViewAdapter implements ListAdapter {
Context mContext;
LayoutInflater mInflater;
private ArrayList<ListViewItem> listViewItemList = new ArrayList<ListViewItem>();
NotificationManager mNotification;
public ListViewAdapter(ArrayList<ListViewItem> setar) {
mInflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); //에러나는부분
listViewItemList = setar;
mNotification = (NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE);
}
@Override
public boolean areAllItemsEnabled() {
return false;
}
@Override
public boolean isEnabled(int position) {
return false;
}
@Override
public void registerDataSetObserver(DataSetObserver observer) {
}
@Override
public void unregisterDataSetObserver(DataSetObserver observer) {
}
@Override
public int getCount() {
return 0;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public boolean hasStableIds() {
return false;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
//최대글자수로 생략