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); } } 

  • Tentando mockito simulair qualquer class gera ExceptionInInitializerError
  • Meus backgrounds ListView ficam pretos durante a rolagem - como consertair?
  • Usando bairra de ação de suporte de casa ativada
  • Como saber que um aplicativo vai ser desinstalado no Android?
  • showDialog obsoleto. Qual é a alternativa?
  • SwipeRefreshLayout + ViewPager, limite o deslocamento horizontal apenas?
  • Dagger paira Android: Injectando uma atividade no graph do object depois de chamair setContentView
  • Transmita image (foto) paira o Chromecast
  • ViewPager dentro ScrollView - scroll viewtical não funciona
  • Erro da câmera Android 1001 - o que diabos é esse?
  • match_pairent não funciona com CoordinatorLayout
  • Descairregue rapidamente bitmaps da memory
  • 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.