活动名称强制转换为参数

时间:2015-04-18 17:58:05

标签: android android-activity

我有3个活动和一个类'函数'。我班上的一些功能都用在我的所有活动中。

让我们说我的所有活动都有一些局部变量。相同的名称在所有活动中使用相同

我在我的班级中创建了一个函数,在我的所有活动中,我称之为该函数。

当我需要使用变量时,我(在我的函数中):

(Activityname).context.variabile(BLA-BLA)

如何将Activityname作为参数发送并直接使用în上述声明?

现在我使用字符串参数并使用'if'

设置namualy Activityname

由于

3 个答案:

答案 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