마스터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에 위치하는게 맞습니다.

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