안드로이드 리니어 레이아웃을 다른 액티비티로 보내려면 어떻게 해야 하나요?
조회수 516회
지금 과제로 앱을 만들고 있는데, 추가하려는 기능 중에 새로운 창에서 버튼을 누르면 기존 창에 버튼을 추가시키는 형태로 만들고 있습니다.
그런데 리니어 레이아웃이 Null이 반환되어서 오류가 납니다.
어떻게 해야 오류가 안 나게 작성할 수 있을까요
`public class create_file_Activity extends AppCompatActivity {
Context context;
LinearLayout main_layout;
EditText create_file_title, create_file_content;
Button create_file_btn_date, create_file_btn_time, create_file_btn_cancle, create_file_btn_confirm;
TextView time_tv, date_tv;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.create_file);
setTitle("일정 추가");
create_file_title = (EditText) findViewById(R.id.create_file_title);
create_file_content = (EditText) findViewById(R.id.create_file_content);
create_file_btn_date = (Button) findViewById(R.id.create_file_btn_date);
create_file_btn_time = (Button) findViewById(R.id.create_file_btn_time);
create_file_btn_cancle = (Button) findViewById(R.id.create_file_btn_cancle);
create_file_btn_confirm = (Button) findViewById(R.id.create_file_btn_confirm);
main_layout = (LinearLayout) findViewById(R.id.Mainlayout);
time_tv = (TextView) findViewById(R.id.time_tv);
date_tv = (TextView) findViewById(R.id.date_tv);
context = this;
create_file_btn_cancle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent);
}
});
create_file_btn_confirm.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Button btn = new Button(context);
btn.setText(create_file_title.getText().toString());
btn.setWidth(LinearLayout.LayoutParams.MATCH_PARENT);
main_layout.addView(btn);
}
});
create_file_btn_time.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Calendar now = Calendar.getInstance();
final TimePickerDialog tpDialog = new TimePickerDialog(create_file_Activity.this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) {
String state = "AM";
if (selectedHour > 12) {
selectedHour -= 12;
state = "PM";
}
time_tv.setText(state + " " + selectedHour + "시 " + selectedMinute + "분");
}
}, now.get(Calendar.HOUR_OF_DAY), now.get(Calendar.MINUTE), false); // true의 경우 24시간 형식의 TimePicker 출현
tpDialog.getCurrentFocus();
tpDialog.show();
}
});
create_file_btn_date.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
DatePickerDialog dpDialog = new DatePickerDialog(create_file_Activity.this, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker datePicker, int i, int i1, int i2) {
date_tv.setText(i+"년 "+(i1+1)+"월 "+i2+"일");
}
}, 0, 0, 0);
dpDialog.getDatePicker().setMinDate(System.currentTimeMillis());
dpDialog.show();
}
});
}
}`
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력