마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

listviewadapter getsystemservice nullpoint exception 도와주세요ㅠㅠ

0 추천

에러 메세지

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) {
    //최대글자수로 생략
익명사용자 님이 2016년 7월 1일 질문

1개의 답변

0 추천
ListViewAdapter lva = null;
lva.setAlarm();

lva가 null이네요;

prague (26,200 포인트) 님이 2016년 7월 1일 답변
...