2011-04-20 3 views
0

내 앱에서 데이터베이스 항목을 처리 할 수있는 DbAdapter 클래스가 있지만 어떤 이유로 다른 클래스에서도 작동하지만 생성 한 새 클래스에서 호출 할 수 없습니다.컨텍스트를 보낼 수 없습니다. 생성자가 정의되지 않았습니다.

나는 새 클래스에서 사용하고있는 코드는 다음과 같습니다

DbAdapter mDbHelper = new DbAdapter(this); 
     mDbHelper.open(); 

"이"을 좋아하지 않는 것 같습니다. 내 DbAdapter 클래스의 코드는 다음과 같습니다

public DbAdapter (Context ctx) { 
    this.mCtx = ctx; 
} 

내가이 정말 바보 같은 질문이지만, 사람이 올바른 방향으로 날 지점 수있는 경우가 많이 주시면 감사하겠습니다 확신합니다.

많은 감사,

피트.

당신은 annoymous 내부 클래스 따라서이

private Context mContext; 

...onCreate(){ 
     mContext = this; 
} 

그런 다음 당신이 원하는했다

DbAdapter mDbHelper = new DbAdapter(YourActivity.this); 

을 시도하거나 활동에. 당신은에있는 클래스에 referening

되어 있어야합니다

답변

1

:

DbAdapter mDbHelper = new DbAdapter(mContext); 
+0

도움을 주셔서 감사합니다. –

+2

@Pete, 정답을 수락하십시오. 왼쪽의 숫자와 화살표를 보면, 녹색 티켓이 음영 처리되어 있습니다. 대답을 수락하려면이 버튼을 누릅니다. 수락 된 답변은 다른 사용자가 질문을 검색하는 데 도움이되며 수락 평가를 계속 유지하면 다른 사용자가 질문 한 내용에 답변 할 수 있습니다. – Blundell

1

어떤 수업을 듣고 있습니까

DbAdapter mDbHelper = new DbAdapter(this); 
     mDbHelper.open(); 

? 당신의 DbAdapter 생성자의 정의에 따르면, 매개 변수 유형 Context이어야합니다. new DbAdapter(this)에서 전화하는 클래스가 Context 클래스 또는 Context 클래스의 서브 클래스가 아니면 유효하지 않은 코드로 간주됩니다.

관련 문제