2012-01-02 17 views
4

私は以下のメソッドをActivityクラス以外に持っています。私のコードは以下の通りです。非アクティビティクラスからの非アクティビティクラスのAndroid getResource?

public class ReadTextByLineNo { 

public void setContext(Context _context) { 
    if (context == null) { 
     context = _context; 
    } 
} 
public String getTextByLine(int Filename,int LineNumber) 
{ 


    String output=""; 
    String line=""; 
    int counter=1; 
    try 
    { 
     InputStream in = context.getResources().openRawResource(Filename); 
     //InputStream in = assetManager.open(Filename); 
     if(in!=null) 
     { 
      InputStreamReader input = new InputStreamReader(in); 
      BufferedReader buff = new BufferedReader(input); 
      while((line=buff.readLine())!=null) 
      { 
       if(counter ==LineNumber){ 
        output=line; 
       }counter++; 
      }in.close(); 
     }else{ 
      Log.e("Input STREAM PROBLEM", "TEXT IS NULL NULL NULL NULL NULL"); 
     } 
    }catch(Exception e) 
    { 
     //log 
    } 

    return output; 
} 

**私はこのようなNON_ACTIVITYクラスから、私は非活動クラスからリソース/コンテキストを使用するにはどうすればよいです**

class sample implements Isample 
{ 
ReadTextByLineNo read = new ReadTextByLineNo(); 
String subMsg = read.getTextByLine(R.raw.subtitle, storySceneId); 
//the above string is to called from an activity called Layout 


} 

をこのメソッドを呼び出すのですか?コンストラクタでコンテキストを使用することはできません。これは、非アクティビティクラスからメソッドを呼び出しているためです。 私はread.setContent(this)を設定できません。どこで私のReadTextByLineNoクラスのsetContextメソッドを得て、助けてくれてありがとう。

私は、コードによってクラスのサンプルと例のコンテキスト/リソース教材を取得するには助けてくださいは

答えて

6
public class ReadTextByLineNo { 
    private static Context context; 

    public static void setContext(Context mcontext) { 
     if (context == null) 
      context = mcontext; 
    } 
} 

ときにアプリケーションの起動を高く評価されて、ちょうどから

ReadTextByLineNo.setContext(getApplicationContext()); 

を呼び出すことによって、このコンテキストを初期化しますあなたの主な活動..

お楽しみ...

+0

アクティビティで、これを非アクティビティクラスでどのように使用するかReadTextByLineNo.setContext(getApplicationContext()); – optimus

+0

あなたは、このメソッドを非アクティビティから呼び出すのではなく、他のアクティビティからこのメソッドを呼び出してコンテキストを設定するだけで、あなたのアプリケーションにアクティビティがないことを教えてください。 :D、あなたの最初のアクティビティから呼び出すだけで、コンテキストを設定する、それは簡単です... – AAnkit

+0

soory私は最初は分かりませんでしたが、完璧に働いて、たくさんのおい... – optimus

関連する問題