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

객체가 null값이 들어옵니다. [closed]

0 추천

바로 Main에서 리스트를 셋팅하고 삭제해야하므로 Intent이동이라던지, Extra를 사용할 수 없는 상황입니다.
delete할 때 파라미터로 Schedule의 객체를넘겨주게 되는데. null값이 들어와요.. 어떻게 해결해야 합니까?

public class Schedule_MainActivity extends AppCompatActivity {
    EditText today_edit;
    ListView listView;
    Schedule schedule = new Schedule(); // null값인 듯 함.
    private Schedule_Adapter mAdapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.schedule_activity_main);

        // 객체생성
        listView = (ListView) findViewById(R.id.list_view);
        add_btn = (ImageView) findViewById(R.id.add_btn);
        today_edit = (EditText) findViewById(R.id.today_edit);
        activeIcon = (ImageView) findViewById(R.id.star_active_icon);

        // 어뎁터
        mAdapter = new Schedule_Adapter();
        listView.setAdapter(mAdapter);
        listView.setOnItemClickListener(itemSelect);
        add_btn.setOnClickListener(scheduleAdd);
    }

    View.OnClickListener scheduleAdd = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if(today_edit != null && !today_edit.toString().trim().equals("")) {
                Schedule sch = new Schedule();
                fillSchedule(sch);
                Schedule_DBHelper.getInstance().insertSchedule(sch);
                showList();
            }
        }
    };

    // 일정 삭제
    AdapterView.OnItemClickListener itemSelect = new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(Schedule_MainActivity.this);
            alertDialogBuilder.setTitle("일정삭제");
            alertDialogBuilder.setMessage("일정을 삭제하시겠습니까?").setPositiveButton("YES", new DialogInterface.OnClickListener() {

                @Override
                public void onClick(DialogInterface dialog, int which) {
                    Toast.makeText(Schedule_MainActivity.this, schedule.text+"", Toast.LENGTH_SHORT).show(); // null값이 출력됩니다.
                    Schedule_DBHelper.getInstance().deleteSchedule(schedule);
// 객체를 넘겨주면 delete작업이 일어나야 하는데 null이 들어가니까 delete가 안되네요..
                    Toast.makeText(Schedule_MainActivity.this, "삭제되었습니다.", Toast.LENGTH_SHORT).show();
                }
            }).setNegativeButton("NO", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) { dialog.cancel(); }
            });
            AlertDialog alertDialog = alertDialogBuilder.create();
            alertDialog.show();
        }
    };

    private void fillSchedule(Schedule che) {
        che.text = today_edit.getText().toString();
    }

    private void showList() {
        List<Schedule> list = Schedule_DBHelper.getInstance().searchSchedule();
        mAdapter.clear();
        mAdapter.addAll(list);
        mAdapter.notifyDataSetChanged();
    }

    @Override
    protected void onResume() {
        super.onResume();
        showList();
    }
}

질문을 종료한 이유: 해결
Rondo (120 포인트) 님이 2015년 11월 17일 질문
Rondo님이 2015년 11월 17일 closed
...