我有3个活动和一个类'函数'。我班上的一些功能都用在我的所有活动中。
让我们说我的所有活动都有一些局部变量。相同的名称在所有活动中使用相同
我在我的班级中创建了一个函数,在我的所有活动中,我称之为该函数。
当我需要使用变量时,我(在我的函数中):
(Activityname).context.variabile(BLA-BLA)
如何将Activityname作为参数发送并直接使用în上述声明?
现在我使用字符串参数并使用'if'
设置namualy Activityname由于
答案 0 :(得分:0)
您可以通过Class
课程中的方法获取课程名称:)
MainActivity.class.getSimpleName
将返回MainActivity的String
表示
答案 1 :(得分:0)
使用界面将是一个更好的解决方案。看看我的伪代码
//class with the used values
public class ReturnObject{
int yourValue1;
string yourValue2;
//getters and setter
}
//simple interface which retuns the values
public interface IReturner{
public ReturnObject returnObject();
}
//your activities
public class MyActivity1,2 and 3 extends Activity implements IRetuner{//implement the interface
//other methods and stuff
//override the interface its method to the actvities behaviour
public override ReturnObject returnObject(){
ReturnObject ro = new ReturnObject();
//set values;
return ro;
}
}
//your functions class
public class functions{
//some funcion used by the activity
public void methodUsedByActivity(IReturner returner){
ReturnObject ro = returner.returnObject();
//Do stuff with the returnObject its values;
}
}
答案 2 :(得分:0)
我建议使用instanceof,它会更容易,而不是将活动名称作为字符串传递,如下所示
if(((Activity)context) instanceof Activity1)
//add related code here
if(((Activity)context) instanceof Activity2)
//add related code here