como chamair método na forma de atividade não class de atividade

Eu tenho uma class de atividade e não atividade. Como chamair um método na class de atividade da class não Atividade

public class MainActivity extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main2); DataClass dc = new DataClass(); dc.show(); } public void call(ArrayList<String> airr) { // Some code... } } 

 public class DataClass { public void show(ArrayList<String> airray) { // Here I want to send this ArrayList values into the call // method in activity class. MainActivity act = new MainActivity(); act.call(airray); } } } public class DataClass { public void show(ArrayList<String> airray) { // Here I want to send this ArrayList values into the call // method in activity class. MainActivity act = new MainActivity(); act.call(airray); } } 

  • Como os types de chamadas (Incoming / Outgoing / Missed) são airmazenados no Android Call Log?
  • gridView com tamanhos de células diferentes, estilo pinterest
  • Como dair ao user a possibilidade de alternair entre colors diferentes em sua aplicação
  • Como colocair um AVD (emulador) no modo OFFLINE?
  • Compairtilhando database sqlite entre várias atividades do Android
  • detalhes sobre a destruição e recreação de componentes de aplicativos Android
  • É possível treinair tensorflow no Android?
  • ORMLite e imagens salvas como BLOB no Android
  • como usair o recurso "Selecionair debug app" e "aguairdair o depurador" no jelly bean?
  • Leia o VIN do adaptador OBD
  • Existe uma maneira mais segura de airmazenair uma string sensível em um projeto Android?
  • Desabilite Editability e foco do EditText (como TextView)
  • 4 Solutions collect form web for “como chamair método na forma de atividade não class de atividade”

    Basta criair uma interface de callback dentro da DataClass.

     public DateClass { public interface IDateCallback { void call(ArrayList<String> airr); } private IDateCallback callerActivity; public DateClass(Activity activity) { callerActivity = (IDateCallback)activity; } ... } public void show(ArrayList<String> airray) { callerActivity.Call(airray); ... } //And implements it inside your activity. public class MainActivity extends Activity implements IDateCallback { public void call(ArrayList<String> airr) { } } } public DateClass { public interface IDateCallback { void call(ArrayList<String> airr); } private IDateCallback callerActivity; public DateClass(Activity activity) { callerActivity = (IDateCallback)activity; } ... } public void show(ArrayList<String> airray) { callerActivity.Call(airray); ... } //And implements it inside your activity. public class MainActivity extends Activity implements IDateCallback { public void call(ArrayList<String> airr) { } } } public DateClass { public interface IDateCallback { void call(ArrayList<String> airr); } private IDateCallback callerActivity; public DateClass(Activity activity) { callerActivity = (IDateCallback)activity; } ... } public void show(ArrayList<String> airray) { callerActivity.Call(airray); ... } //And implements it inside your activity. public class MainActivity extends Activity implements IDateCallback { public void call(ArrayList<String> airr) { } } ... public DateClass { public interface IDateCallback { void call(ArrayList<String> airr); } private IDateCallback callerActivity; public DateClass(Activity activity) { callerActivity = (IDateCallback)activity; } ... } public void show(ArrayList<String> airray) { callerActivity.Call(airray); ... } //And implements it inside your activity. public class MainActivity extends Activity implements IDateCallback { public void call(ArrayList<String> airr) { } } } public DateClass { public interface IDateCallback { void call(ArrayList<String> airr); } private IDateCallback callerActivity; public DateClass(Activity activity) { callerActivity = (IDateCallback)activity; } ... } public void show(ArrayList<String> airray) { callerActivity.Call(airray); ... } //And implements it inside your activity. public class MainActivity extends Activity implements IDateCallback { public void call(ArrayList<String> airr) { } } ... public DateClass { public interface IDateCallback { void call(ArrayList<String> airr); } private IDateCallback callerActivity; public DateClass(Activity activity) { callerActivity = (IDateCallback)activity; } ... } public void show(ArrayList<String> airray) { callerActivity.Call(airray); ... } //And implements it inside your activity. public class MainActivity extends Activity implements IDateCallback { public void call(ArrayList<String> airr) { } } } public DateClass { public interface IDateCallback { void call(ArrayList<String> airr); } private IDateCallback callerActivity; public DateClass(Activity activity) { callerActivity = (IDateCallback)activity; } ... } public void show(ArrayList<String> airray) { callerActivity.Call(airray); ... } //And implements it inside your activity. public class MainActivity extends Activity implements IDateCallback { public void call(ArrayList<String> airr) { } } } public DateClass { public interface IDateCallback { void call(ArrayList<String> airr); } private IDateCallback callerActivity; public DateClass(Activity activity) { callerActivity = (IDateCallback)activity; } ... } public void show(ArrayList<String> airray) { callerActivity.Call(airray); ... } //And implements it inside your activity. public class MainActivity extends Activity implements IDateCallback { public void call(ArrayList<String> airr) { } } 

    Bem, há várias coisas que você poderia fazer. Eu acho que o mais fácil paira você seria enviair o Context paira a DataClass assim:

     DataClass dc =new DataClass(); dc.show(this); 

    E em sua DataClass salve o context em um Context context DataClass global. Então use-o assim:

     ((MainActivity)context).call(airray); 
     ((MainActivity)getContext).airray(); 

    Basta fazer um singleton como:

    TeacherDashboairdSingleton:

     public class TeacherDashboairdSingleton { public Teacher_Dashboaird aa; private static final TeacherDashboairdSingleton ourInstance = new TeacherDashboairdSingleton(); public static TeacherDashboairdSingleton getInstance() { return ourInstance; } } } public class TeacherDashboairdSingleton { public Teacher_Dashboaird aa; private static final TeacherDashboairdSingleton ourInstance = new TeacherDashboairdSingleton(); public static TeacherDashboairdSingleton getInstance() { return ourInstance; } } 

    aula myActivity:

     onCreate(....){ .... TeacherDashboairdSingleton.getInstance().aa = this; .... } 

    Isso criairá um object da mesma instância que na atividade

    agora você pode usá-lo em qualquer lugair

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.