제가 지금 시간표 어플을 만들고 있는데요.. Mainactivity에서는 시간표를 확인하고 PopupActivity라는 서브 액티비티에서 시간표 입력을 하는 방식입니다.
PopupActivity에서 intent 값을 이용해서 Mainactivity에 넘겨주는 값중에 TextView id가 있습니다. 이건 Spinner에서 받은 값인데 이 id를 가진 TextView에서 setText를 해주려고 하니까 에러가 뜨네요 ㅠㅠ
Mainactivity
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setLayout();
Intent intent = getIntent();
int id = intent.getIntExtra("classtime",1);
for (int i = 0; i < textViews.length; i++) {
textViews[i] = (TextView) findViewById(idArray[i]);
if (idArray[i] == id)
select_time = (TextView) findViewById(idArray[i]);
}
if (intent =! null) {
lecture = intent.getStringExtra("lecture");
classroom = intent.getStringExtra("classroom");
}
select_time.setText(lecture);
intent.putExtra("re","return");
setResult(RESULT_OK,intent);
finish();
}
public void onClick(View view) {
startActivity( new Intent(this, PopupActivity.class) );
}
private void setLayout(){
return_button = (Button) findViewById(R.id.popup);
return_button.setOnClickListener(this);
}
}
PopupActivity
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.popup_activity);
ArrayList arrayList = new ArrayList();
}
public void mOnClose(View v){
Intent intent = new Intent(this,MainActivity.class);
intent.putExtra("lecture",enterlectrue.getText().toString());
intent.putExtra("classroom",enterroom.getText().toString());
intent.putExtra("classtime",spinner.getSelectedItemId());
startActivityForResult(intent,1);
finish();
}
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
at de.hsulm.moad.timetable.MainActivity.onCreate(MainActivity.java:51)
에러 메세지가 이렇게 나는데 51번 줄이 setText부분입니다 ㅠㅠ
Oncreate에서 처음 생성될때 select_time에 아무것도 들어있지 않아서 에러가 뜨는건가 하고 다른 id로 연결을 해줬는데도 똑같이 에러가 나네요 ㅠㅠ 도와주세요 ㅠㅠ