如何调用活性形式的非活性类的方法 [英] how to call method in activity form non activity class

查看:154
本文介绍了如何调用活性形式的非活性类的方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个活动和非活动类。如何从非Activity类调用活动类中的方法

 公共类MainActivity延伸活动{
    公共无效的onCreate(包savedInstanceState){
        super.onCreate(savedInstanceState);
        的setContentView(R.layout.main2);

        数据类DC =新数据类();
        dc.show();
    }

    公共无效电话(ArrayList中<字符串> ARR){
       //有些code ...
    }
}
 


 公共类数据类{

    公共无效展(ArrayList中<字符串>数组){
        //这里我想这个ArrayList的值发送到呼叫
        //在活动类的方法。

       MainActivity行为=新MainActivity();
       act.call(阵列);
    }
}
 

解决方案

刚刚创建的DateClass内回调接口。

 公共DateClass {
    公共接口IDateCallback {
        无效电话(ArrayList中<字符串> ARR);
    }

    私人IDateCallback callerActivity;

    公共DateClass(活动活动){
        callerActivity =(IDateCallback)的活动;
    }
...
}

公共无效展(ArrayList中<字符串>数组){
    callerActivity.Call(阵列);
    ...
}

//而且您的活动内实现它。

公共类MainActivity扩展活动
        实现IDateCallback {

    公共无效电话(ArrayList中<字符串> ARR){

    }
}
 

I have an Activity and non Activity class. How to call a method in Activity class from non Activity class

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> arr) {
       // Some code...
    }
}


public class DataClass {

    public void show(ArrayList<String> array) {
        // Here I want to send this ArrayList values into the call
        // method in activity class.

       MainActivity act = new MainActivity();
       act.call(array);                  
    }
}

解决方案

Just create a callback interface inside the DateClass.

public DateClass {
    public interface IDateCallback {
        void call(ArrayList<String> arr);
    }  

    private IDateCallback callerActivity;

    public DateClass(Activity activity) {  
        callerActivity = (IDateCallback)activity;  
    }
...  
}  

public void show(ArrayList<String> array) {            
    callerActivity.Call(array);  
    ...  
}

//And implements it inside your activity.

public class MainActivity extends Activity 
        implements IDateCallback {  

    public void call(ArrayList<String> arr) {

    }  
}

这篇关于如何调用活性形式的非活性类的方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆