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

리스트뷰에 관련해 질문 좀 드립니다. ㅠㅠ

0 추천
package project.note2;
 
import android.os.Bundle;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
 
public class Note_object extends MainActivity {
     
    public static EditText note_editText;
     
    Note_DataBase DB;
     
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
         
        DB = new Note_DataBase(this);
    }
     
    @SuppressWarnings("deprecation")
    public void Item_List() {
        Note_DataBase.cursor = DB.QueryData();
         
        if (Note_DataBase.cursor != null) {
            startManagingCursor(Note_DataBase.cursor);
            String[] columns = {"time", "memo", "day"};
            int[] reIds = {R.id.textView3, R.id.textView2, R.id.textView1};
             
            SimpleCursorAdapter adapter = new SimpleCursorAdapter
                    (this, R.layout.list_item, Note_DataBase.cursor, columns, reIds);  
             
            MainActivity.note_ListView.setAdapter(adapter);
        }
    }
}

- 서브 액티비티

 

package project.note2;
 
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.ListView;
 
public class MainActivity extends Activity {
     
    Note_object object;
    Note_DataBase DB;
     
    public static ListView note_ListView;
     
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
         
        object = new Note_object();
        DB = new Note_DataBase(this);
        note_ListView = (ListView) findViewById(R.id.note_ListView);
         
    }
     
    public void add_Item(View v) {
        object.Item_List();
    }
}

- 메인 액티비티

 

서브 액티비티에서 리스트뷰 내용을 불러오고 메인 액티비티에서 뿌려줄려고 하는데 오류가 나네요 ㅠ

Android초보개발자 (1,230 포인트) 님이 2015년 3월 13일 질문

1개의 답변

+1 추천
음.. 전체적으로 공부를 더 하셔야 할것 같아요..

Activity는 저렇게 선언하시면 안돼요.. MainActivity를 상속받아서 저렇게 쓰는 이유도 모르겠고..

코드가 오묘하네요.... Activity에 view도 같고...

이건 다 뜯어 고쳐야 해요..
이드로이드 (22,930 포인트) 님이 2015년 3월 13일 답변
메인 액티비티에서 사용하려니 메인 액티비티가 지저분해서 다 다른데로 옮겨볼까 했거든요 ㅠㅠ 방법이 없을까요?
일단 서브 액티비티는 지우세요. 저렇게 쓰는거 아니에요...
database만 처리하는 모듈을 따로 만드시라면
class 하나 추가하셔서 db에 get, set 하는 함수들을 작성하시고,

adapter 는 MainActivity에 위치하는게 맞습니다.

클래스, 상속, 객체지항에 대해 다시한번 공부해 보세요~
의도는 충분히 이해하지만 지금 같은 경우는 메인엑티비티에서 모두 처리해 주는게  옳을듯 해요,
딱히 모듈로 분리할만한 부분도 안보이고,
...