Android从Java类回调到Activity [英] Android make callback to an Activity from java class
本文介绍了Android从Java类回调到Activity的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何通过Java类对Activity进行回调?
How can i make a callback to an Activity form a Java Class?
示例:
public class TestClass{
String text = "Test";
public TestClass(Context context){
startActivity(new Intent(context, SomeActivity.class));
}
private void sendToSomeActivity(){
//Call some method of SomeActivity and pas text as string
}
}
当调用 sendToSomeActivity()
时,我想对已经启动的 SomeActivity
进行回调,并将一些文本传递给Activity.在 SomeActivity
中,我要使用文本.
When sendToSomeActivity()
is called, i want to make a callback to the already started SomeActivity
and pass some text to the Activity. In SomeActivity
i want to use the text.
注意:我要使用的TestClass对象已经在另一个类中创建.
Note: The TestClass object that i want to use is already created in another class.
这怎么办?
推荐答案
我选择的解决方案如下:
The solution I chose is as follows:
使用BroadcastReceivers在Java类和Activity之间进行通信.
Use BroadcastReceivers to communicate between Java classes and Activities.
示例:
public class SomeActivity extends Activity{
private MyBroadcastReceiver receiver;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
receiver = new MyBroadcastReceiver();
this.registerReceiver(receiver, new IntentFilter(MyBroadcastReceiver.ACTION));
}
@Override
public void onDestroy() {
super.onDestroy();
this.unregisterReceiver(receiver);
}
private class MyBroadcastReceiver extends BroadcastReceiver{
public static final String ACTION = "com.example.ACTION_SOMETHING"
@Override
public void onReceive(Context context, Intent intent) {
String test = intent.getStringExtra("dataToPass");
}
}
}
public class TestClass{
private String test = "TEST";
private Context context;
public TestClass(Context context){
this.context = context;
}
private void sendToSomeActivity(){
Intent intent = new Intent();
intent.setAction(SomeActivity.MyBroadcastReceiver.ACTION);
intent.putExtra("dataToPass", test);
context.sendBroadcast(intent);
}
}
这篇关于Android从Java类回调到Activity的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文