0

谁能告诉我我是对还是错?我在解决我的问题时真的很困惑。

我所拥有的是(或我想做或正在想的是:)

我有:

 Class B{

     ........
     ........
    interface I{
     ......
     ........
     }
   .......
   .......  
    } 

和 :

  Class A implements B.I{
      ........
      .......
      B b= new B();
       }

这是B类和A类两个类之间的正确通信方式吗?我应该如何使这项工作。我希望将 A 类中的一些数据传递给 B 类以进行进一步操作。

当我需要数据时,我应该如何让我将在 A 中实现的方法从 B 中调用?具有相同场景的接口上的一个简单示例将真正帮助我。有人对界面的工作原理有很好的解释吗?或者应该如何使用它们?

我还想进一步询问android中接口工作背后的逻辑..?我们在 OnClick 侦听器中拥有的回调方法背后的逻辑是什么?因为这也是使用接口进行的?例如:我们在课堂上实现它们

  class A implements View.OnClickListener

并在我们的类中提供处理 onClick 事件的逻辑?所以它们什么时候被调用。(我知道当我们点击那个特定视图时它们被调用)我想要它们被调用的机制或实现

或者我应该使用抽象类来做到这一点?我真的被困住了!谢谢

4

3 回答 3

0

我不完全确定我理解,但听起来你只需要实现一个 DB 类。为此,您可以找到许多很好的示例,例如Here。您可以在AsyncTaskActivityA中执行您的数据库操作,以便这些操作在后台完成并且不会占用您的线程。然后使用单独的 in访问您的 DB 类以检索信息UIAyncTaskActivityB

至于使用OnClickListeners,你可以用不同的方式来做到这一点。您可以在单独的类中定义它们,但在使用它们的类中执行它们通常更容易且同样有效。您可以在 xml 中定义它们

<Button
android:id="@+id/btn1"
// button attributes
android:onClick=methodName/>

然后在你的java代码中

public void methodName(View v)
    {
     //do stuff here
    }

或使用类似的东西

   button1.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        // do more stuff
    }
});

定义后在你的java代码中button1

在没有看到代码并且不知道您的具体问题的情况下,这听起来像是您可能正在寻找的。如果没有,请更具体地说明您想要什么,也许我们可以更好地为您提供帮助

于 2013-02-25T03:51:18.337 回答
0

It seems that what you are trying to figure out is communication between Fragments. Here it is well explained. If you want to communicate between Activities then you should read about Intents.

于 2013-02-25T03:07:22.827 回答
0

接口旨在定义 Java 中的一种行为。如果一个类实现了一个接口,它会让编译器确信它可以执行该接口中的所有方法。

例如,您可以有一个 Printable 接口,其中包含可以打印的对象所需的方法(例如 getStringRepresentation 方法)。任何实现 Printable 的类都必须实现它的所有方法,因此您必须能够打印该类的对象。

您可以在此处阅读有关接口的更多信息。

如果您只想将数据从 A 类传递到 B 类,则不一定需要接口,因为您没有多个可以执行相同操作的类,此时您可能需要通过使用来定义它们的共同行为一个界面。

为什么不能使用 B 方法之一的参数将数据从 A 类传递到 B 类的对象?

例如

// somewhere in the methods of A
B b = new B();
b.giveData(theData);
于 2013-02-25T07:26:30.667 回答