안드로이드 개발 질문/답변
(글 수 45,052)
intent를 이용해서 정보를 넘기는 작업을 하고 있습니다...
그런데 이게 될때도 있고 안될때도 있는데요
안될때 로그켓 확인 하니까 널 익셉션 뜨는데요.
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class Culture extends Activity {/** Called when the activity is first created. */
Button homeButton;
Button backButton;
Button List01;
Button List02;
Button List03;
Button List04;
Button List05;
Button List06;
Button List07;
TextView titleView;
Intent intent;
@Override
public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
setContentView(R.layout.culture_output);
homeButton = (Button) findViewById(R.id.btn_output_home);
backButton = (Button) findViewById(R.id.btn_output_back);
List01 = (Button) findViewById(R.id.btn_sub4_01);
List02 = (Button) findViewById(R.id.btn_sub4_02);
List03 = (Button) findViewById(R.id.btn_sub4_03);
List04 = (Button) findViewById(R.id.btn_sub4_04);
List05 = (Button) findViewById(R.id.btn_sub4_05);
List06 = (Button) findViewById(R.id.btn_sub4_06);
List07 = (Button) findViewById(R.id.btn_sub4_07);
titleView = (TextView) findViewById(R.id.text_output_title);
titleView.setText("문화행사"); backButton.setOnClickListener(new Button.OnClickListener() {@Override
public void onClick(View v) {finish();
}
});
homeButton.setOnClickListener(new Button.OnClickListener() {@Override
public void onClick(View v) {intent = new Intent(Culture.this, Main.class);
startActivity(intent);
}
});
List01.setOnClickListener(new Button.OnClickListener() {@Override
public void onClick(View v) {intent = new Intent(Culture.this, Event_Sub.class);
intent.putExtra("r01", "건축 창의 체험"); intent.putExtra("r02", "10.9~10.10 2회/일"); intent.putExtra("r03", "향토자료실"); intent.putExtra("title", "문화행사");startActivity(intent);
}
});
List02.setOnClickListener(new Button.OnClickListener() {@Override
public void onClick(View v) { intent.putExtra("r01", "오방다례 시연 등"); intent.putExtra("r02", "10.8~10.9"); intent.putExtra("r03", "야외마당"); intent.putExtra("title", "문화행사");startActivity(intent);
}
});
List03.setOnClickListener(new Button.OnClickListener() {@Override
public void onClick(View v) { intent.putExtra("r01", "그림타일 만들기"); intent.putExtra("r02", "10.9~10.10"); intent.putExtra("r03", "야외마당"); intent.putExtra("title", "문화행사");startActivity(intent);
}
});
List04.setOnClickListener(new Button.OnClickListener() {@Override
public void onClick(View v) { intent.putExtra("r01", "전통연회 체험"); intent.putExtra("r02", "10.8~10.10"); intent.putExtra("r03", "야외마당"); intent.putExtra("title", "문화행사");startActivity(intent);
}
});
List05.setOnClickListener(new Button.OnClickListener() {@Override
public void onClick(View v) {intent = new Intent(Culture.this, Event_Sub.class);
intent.putExtra("r01", "별빛 음악회"); intent.putExtra("r02", "10.9 저녁"); intent.putExtra("r03", "야외무대"); intent.putExtra("title", "문화행사");startActivity(intent);
}
});
List06.setOnClickListener(new Button.OnClickListener() {@Override
public void onClick(View v) {intent = new Intent(Culture.this, Event_Sub.class);
intent.putExtra("r01", "대중적 음악 공연"); intent.putExtra("r02", "10.10 저녁"); intent.putExtra("r03", "야외무대"); intent.putExtra("title", "문화행사");startActivity(intent);
}
});
List07.setOnClickListener(new Button.OnClickListener() {@Override
public void onClick(View v) {intent = new Intent(Culture.this, Event_Sub.class);
intent.putExtra("r01", "광대,스트리트메직,저글링 등"); intent.putExtra("r02", "10.8~10.10"); intent.putExtra("r03", "행사장전체"); intent.putExtra("title", "문화행사");startActivity(intent);
}
});
}
}
위의 소스에서 putExtra부분을 주석 처리하면 또 잘 되는데요.....
왜 그런지 이유를 아시는 분 계신지요....
고수분들의 도움 부탁 드립니다....




list02랑 03에서는 intent를 생성하는 문장이 없는데 이유가 있나요?
제 짐작에는 2번과 3번 제외하면 Null 포인터 안날거 같은데요...
결국 intent가 널인 경우가 나와서 나오는 오류로 보입니다.