如何调用活性形式的非活性类的方法 [英] how to call method in activity form non activity class
本文介绍了如何调用活性形式的非活性类的方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个活动和非活动类。如何从非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屋!
查看全文