마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

TabLayout에 TableLayout을 넣고 db관련 기능을 넣었는데 앱이 중지됩니다

0 추천

탭 레이아웃을 구현한 후 그 안에 제가 미리 구현해둔 테이블 레이아웃을 넣었습니다


 

테이블 레이아웃을 넣어서 탭으로 볼 수는 있지만 주요 기능인 내용 작성 기능과 내용 유지를 위한 데이터베이스 기능을 추가했더니 앱이 중지되었습니다.

 

제 생각에 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); //텍스트 뷰 배경 색깔 흰색으로 변경
           }

 

익명사용자 님이 2014년 5월 7일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...