안드로이드 TextView에 날짜 받아오기 오류가 납니다
조회수 882회
MainActivity에서 날짜를 보여주는 dateTextView를 터치하면 onClickListener로 CalendarActivity로 이동할 수 있게끔 했습니다.
dateTextView는 날짜를 보여주기도하며 터치 시 CalendarView에서 날짜를 선택할 수 있게했습니다.
private View.OnClickListener onClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.dateTextView:
startActivity(new Intent(MainActivity.this, CalendarActivity.class));
finish();
break;
}
}
};
그리고 CalendarActivity는
public class CalendarActivity extends AppCompatActivity {
private CalendarView calendarView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_calendar);
calendarView = findViewById(R.id.calendarView);
calendarView.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
@Override
public void onSelectedDayChange(@NonNull CalendarView view, int year, int month, int dayOfMonth) {
String date = year + " / " + (month + 1) + " / " + dayOfMonth;
Intent intent = new Intent(CalendarActivity.this, MainActivity.class);
intent.putExtra("date", date);
startActivity(intent);
finish();
}
});
}
}
date라는 키이름으로 MainActivity로 데이터를 넘겨주었습니다.
MainActivity에서 onCreate메서드 내부에
Intent dateIntent = getIntent();
String inputDate = dateIntent.getStringExtra("date");
if(!TextUtils.isEmpty(inputDate)) {
View_Date = inputDate;
dateTextView.setText(inputDate);
} else {
dateTextView.setText(View_Date);
}
이렇게 받아온 날짜 데이터를 dateTextView에 넣으려고 하니까 NullPointException이 뜨면서 꺼지더군요... CalendarActivity에서 넘겨준 데이터를 inputDate로 잘 받았다고 생각했는데 널포인트 오류가 납니다... 정확히는
dateTextView.setText(inputDate);
와
dateTextView.setText(View_Date);
여기서 널포인트 오류가 납니다. 어디가 문제인지 알고싶습니다...ㅜㅜ
if문이 없을 때는 inputDate를 System.out.println으로 찍어보면 날짜가 나오는데 널포인트가 뜹니다.
if문이 있으면 inputDate에서 널포인트가 나네요...
+View_Date는 getToday_date()를 집어넣은 String 변수입니다.
public static String getToday_date() {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MM/dd", Locale.KOREA);
Date currentDate = new Date();
String today = simpleDateFormat.format(currentDate);
return today;
}
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력