탭 레이아웃을 구현한 후 그 안에 제가 미리 구현해둔 테이블 레이아웃을 넣었습니다
테이블 레이아웃을 넣어서 탭으로 볼 수는 있지만 주요 기능인 내용 작성 기능과 내용 유지를 위한 데이터베이스 기능을 추가했더니 앱이 중지되었습니다.
제 생각에 curosor의 예외처리가 안되서 그런 것 같은데 정확히 어떻게 해결해야 할 지 잘 모르겠습니다
그리고 일부 코드입니다
private Cursor cur; //커서 선언
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TabHost mTab=getTabHost();
TabHost.TabSpec spec;
LayoutInflater.from(this).inflate(R.layout.activity_main,
mTab.getTabContentView(),true);
spec=mTab.newTabSpec("tab1").setIndicator("일간")
.setContent(R.id.tv1);
mTab.addTab(spec);
spec=mTab.newTabSpec("tab2").setIndicator("주간")
.setContent(R.id.tv2);
mTab.addTab(spec);
spec=mTab.newTabSpec("tab3").setIndicator("월간")
.setContent(R.id.tv3);
mTab.addTab(spec);
spec=mTab.newTabSpec("tab4").setIndicator("고정")
.setContent(R.id.tv4);
mTab.addTab(spec);
spec=mTab.newTabSpec("tab5").setIndicator("학기")
.setContent(R.id.tv5);
mTab.addTab(spec);
spec=mTab.newTabSpec("tab6").setIndicator("로드맵")
.setContent(R.id.tv6);
mTab.addTab(spec);
mDb = new DBAdapter(this);
setTitle("일간 계획표");
day2_3=(TextView)findViewById(R.id.day2_3);
mInfo = mDb.getAllInfo();
mDb.getAllInfo();
SQLiteDatabase db = openOrCreateDatabase("promise2.db",
Context.MODE_PRIVATE, null); //promise2.db 오픈
cur = db.rawQuery("SELECT * From promise", null); //db 안에 promise 테이블 불러오기
cur.moveToLast(); //커서의 위치를 제일 마지막으로 위치<<최근꺼 제일 마지막에 저장되니깐
String a = cur.getString(1); //테이블에 1번째가 SUBJECT_TIME 이므로 1번 해주고 스트림
// for(int i = 0; i < mInfo.size(); i++)
// {
// String subject_time = mInfo.get(i).getSubject_time();
//String lng = mInfo.get(i).getSubject_list();
//String title = mInfo.get(i).getAmount();
//String text = mInfo.get(i).getColor();
day2_3.setText(a);
// }
//텍스트 뷰 클릭 시 이벤트 처리
day2_3.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
day2_3.setBackgroundColor(Color.RED);//텍스트 뷰 배경 색깔 빨간색으로 변경
dialogView=(View)View.inflate(MainActivity.this, R.layout.day_subject, null);
dlgEdtSubject=(EditText)dialogView.findViewById(R.id.dlgEdt1); //editText를 나타낸다
dlgEdtSubject.setText(day2_3.getText().toString()); //day2_3이란 텍스트 뷰에 글자를 출력한다
AlertDialog.Builder dlg=new AlertDialog.Builder(MainActivity.this);
dlg.setTitle("내용 작성"); //다이얼로그의 제목
dlg.setIcon(R.drawable.ic_launcher); //다이얼로그 옆의 안드로보이 이미지
dlg.setView(dialogView); //다이얼로그를 띄운다
dlg.setPositiveButton("확인",
new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog,int which){
mDb.insertInfo(dlgEdtSubject.getText().toString(), dlgEdtSubject.getText().toString(),
dlgEdtSubject.getText().toString(), dlgEdtSubject.getText().toString());
day2_3.setText(dlgEdtSubject.getText().toString()); //day2_3이란 텍스트 뷰에 글자를 출력한다
day2_3.setBackgroundColor(Color.WHITE); //텍스트 뷰 배경 색깔 흰색으로 변경
}