0

생성자에 전달 된 컨텍스트 클래스가 있습니다.Android에서 Activity를 확장하지 않는 클래스에서 리소스 파일에 액세스하는 방법은 무엇입니까?

public abstract class AbstractDbAdapter { 
    protected Context context; 

    public AbstractDbAdapter(Context context) { 
     this.context = context;  
     String email = context.getString(R.string.my_email); 
    } 

마지막 문자열에서 오류와 함께 컴파일되지 않습니다.

package R does not exist context.getString(R.string.my_email); 

패키지 R이 존재합니다. 나는

context.getString(R.string.my_email); 

다른 클래스에서 Activity을 문제없이 확장한다. 또한 R.java에서

public static final class string { 
    ... 
    public static final int my_email=0x7f06001e; 
    ... 
} 

문자열을 볼 수 있습니다. Activity를 확장하지 않는 클래스에서 코드를 작동 시키려면 어떻게해야합니까?

+0

는 http://stackoverflow.com/questions/4536680/why-does-r-does-not-exist-error-come-in-android를 참조하십시오 : 그 문제가 될 수 있습니다. – Femi

답변

2

귀하의 활동과 AbstractDbAdapter는 다른 패키지에 있어야합니다.

R 클래스를 가져 오면됩니다.

import com.example.R; 
+0

당신이 옳습니다! 고마워요! 하지만 Netbeans 컴파일러는 항상이 케이스 전에 필요한 수입을 추가하라고합니다. – isabsent

+0

예, Android 리소스는 조금 이상합니다. ... R 패키지는 리소스에서 동적으로 빌드되며 이는 Java 패키지의 전통적인 IDE 개념과 실제로 맞지 않습니다. –

관련 문제