2010-12-02 15 views
3

標準クラスのgetResources()関数の呼び出しに問題があります。この機能を使用するには、すべてのインポートが必要です。私のクラスを拡張するために必要な特別なクラスはありますか?getResourcesが機能しない/未定義Java

すぐさま助けてくれてありがとう。

package com.example.helloandroid; 

import android.app.Activity; 
import android.content.ContentValues; 
import android.content.Context; 
import android.content.ContextWrapper; 

import android.content.res.Resources; 

import android.content.Intent; 
import android.os.Bundle; 

//import android.content.res.Resources; 
import android.database.Cursor; 
import android.database.SQLException; 
import android.database.sqlite.SQLiteDatabase; 
import android.database.sqlite.SQLiteOpenHelper; 
import android.util.Log; 


public class DbAdapter { 

    public DbAdapter() { 
    Resources res = getResources();//error: The method getResources() is undefined for the type DbAdapter 
      //also tyed context.getResources() 
    } 


} 

答えて

25

getResoucesContextする方法です。 だから、あなたはDbAdapterコンストラクタにコンテキストを渡し、そこからgetResourcesを呼び出すことができます。

public DbAdapter(Context context) { 
    Resources res = context.getResources();//error: The method getResources() is undefined for the type DbAdapter 
      //also tied context.getResources() 
} 
+0

getApplicationContextを使用して、DbAdapterコンストラクタに送信するアプリケーションコンテキストを取得します。 – Ben

0

Context'sオブジェクトを定義し、その後contextオブジェクトの助けを借りて、すべてのR.<Methods>を呼び出します。

例:上記のコード

Context ctx; 
ctx.getResources().getString(R.string.Forgot_message); 

は私のために働いています。

関連する問題