2011-09-07 75 views
1

在我的项目中,我正在使用语音识别。我想把这个课程的结果传递给另一个课程。但是,因为这个班不是一个活动班,我不能使用意图。我在语音识别使用的代码是这样的:如何将一个活动类的参数发送到一个普通的类?

保护无效onActivityResult(INT requestCode,INT resultCode为,意图数据) {

 if (requestCode == REQUEST_CODE && resultCode == RESULT_OK){ 
     ArrayList<String> matches = new ArrayList<String>(); 
    matches = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS); 


    if(matches.size()>0) { 
     result = matches.get(0);}} 

我想利用这一结果,并使用另一个类,这是不一个活动课。所以请帮助我

回答

0

你可以声明您ArrayList的一个静态的这个样子,

public static ArrayList<String> array = new ArrayList<String>(); 

这样做,你可以从任何地方通过

activity_name.array; 

访问您的ArrayList,其中ACTIVITY_NAME是该活动或类你声明静态ArrayList

+0

我想从其他类没有声明该数组。我有另一个类叫做上传。这不是一个活动课。在该类中有一个函数“uploadmetadata.setTitle(result)”。我希望语音识别类中的结果在该函数中使用。 –

+0

是的,你可以声明你的结果变量为公共静态,并且可以从任何地方访问它。 –

+0

如果您有进一步的查询来到休闲聊天室。 –

0

您需要保存数据。为此,您可以使用SQlite, SharedPreference or static variable ..

0

您可以在该普通类内定义setter/getters。稍后,通过使用该类的setter方法通过对象来检索值。

+0

我不知道如何正确使用。我想使用像uploadmetadata.setTitle(result)那样的结果。但这个函数在另一个类,我提到 –

相关问题