这是我想要运行的android活动的代码,如果可能的话,不创建新活动。需要摆脱Listener功能。我试图创建一个新的java类,但它给了我putExtra函数的错误。另外,我如何处理Listener构造函数中的newConnection实例。
public class NewConnection extends Activity {
private Bundle result = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
private class Listener implements OnMenuItemClickListener {
//used for starting activities
private NewConnection newConnection = null;
public Listener(NewConnection newConnection)
{
this.newConnection = newConnection;
}
尝试运行以下代码而不点击:
@Override
public boolean **onMenuItemClick**(MenuItem item) {
{
// this will only connect need to package up and sent back
Intent dataBundle = new Intent();
String server = ("tsp//:server address");
String port = ("1823");
//put data into a bundle to be passed back to ClientConnections
dataBundle.putExtra(ActivityConstants.server, server);
dataBundle.putExtra(ActivityConstants.port, port);
...
...
//add result bundle to the data being returned to ClientConnections
dataBundle.putExtras(result);
setResult(RESULT_OK, dataBundle);
newConnection.finish();
}
return false;
}
这是用于调用活动的代码:
createConnection = new Intent();
createConnection.setClassName(
clientConnections.getApplicationContext(),
"org.eclipse.paho.android.service.sample.NewConnection");
clientConnections.startActivityForResult(createConnection,
ActivityConstants.connect);
答案 0 :(得分:0)
这是侦听器范例中的基本构造函数。计算机科学中的核心思想是代码应该是可重用的,并且为了方便这些代码需要通常是自包含的。这通常在Java中使用侦听器完成。它通常是一个抽象类或具有一些set函数的接口。使用侦听器的主类被分配了这个或多个对象,当它到达相关点时将触发侦听器通知您的代码事件。
这允许人们编写完全包含的代码并仍然提供事件挂钩,从而使用该代码的其他用户可以获得反馈,例如当单击菜单项或建立新连接时,并且由此处理使用此代码的人,但原始类的作者不了解您的代码。它允许设计菜单和连接管理器以及与它们触发的代码无关的按钮。因此,可以制作和使用任何数量的这些。