2015-04-18 3 views
0

У меня есть 3 вида деятельности и функции класса. Некоторые функции из моего класса используются во всех моих действиях.Название действия, отлитое как параметр

Допустим, что все мои действия имеют некоторые локальные переменные. То же имя используется во всех видах деятельности

Я выполняю функцию в своем классе и во всех своих действиях называю эту функцию.

Когда мне нужно использовать variabile я делаю (в моей функции):

(Activityname) .context.variabile (бла-бла)

Как я могу отправить Activityname в качестве параметра и использовать непосредственно Заявление выше?

Сейчас я использовать строковый параметр и установить namualy Activityname с помощью «если»

Благодарности

ответ

0

Вы можете получить имя класса, с помощью метода в Class классе :)

MainActivity.class.getSimpleName вернется a String представление MainActivity

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; 

    } 
} 
0

Я хотел бы предложить использовать InstanceOf это будет намного проще, вместо передачи имени активности в виде строки, как показано ниже

if(((Activity)context) instanceof Activity1) 
    //add related code here 
if(((Activity)context) instanceof Activity2) 
    //add related code here 
Смежные вопросы