android活动类,来自非活动类的非活动类中的Android getResource?

我在非Activity类中得到了以下方法,我的代码如下.

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;

}

**I am calling this method from an NON_ACTIVITY CLASS LIKE THIS **

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

}

如何使用非活动类的资源/上下文?我不能在构造函数中使用上下文,因为我也从非Activity类调用该方法.

所以我无法设置read.setContent(this);我在ReadtextByLineNo类中得到了setContext方法,谢谢你的帮助.

请帮助我获取课程样本中的上下文/资源,并通过代码示例表示赞赏

解决方法:

public class ReadTextByLineNo {

private static Context context;

public static void setContext(Context mcontext) {

if (context == null)

context = mcontext;

}

}

当您的应用程序启动时,只需通过调用初始化此上下文

ReadTextByLineNo.setContext(getApplicationContext());

来自你的主要活动..

请享用…

标签:android,resources,android-manifest

来源: https://codeday.me/bug/20190530/1184987.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值