任何人都可以告诉我,我是对还是错?我真的很难解决我的问题。
我拥有的是(或者我想做什么或正在思考的是:)
我有:
Class B{
........
........
interface I{
......
........
}
.......
.......
}
和:
Class A implements B.I{
........
.......
B b= new B();
}
这是B类和A类两个班级之间正确的沟通方式吗? 我该怎么做才能做到这一点。 我希望A类中的一些数据传递给B类以进行进一步的操作。
当我需要数据时,我应该如何制作我将在A中实现的方法? 在具有相同场景的界面上的一个简单示例将真正帮助我。 Doea有没有人对接口如何工作有一个很好的解释?或者它们应该如何使用?
我还想进一步询问android背后的接口工作背后的逻辑吗? 我们在OnClick Listeners中使用的回调方法背后的逻辑是什么? 因为这也是使用接口进行的? 例如:我们在课堂上实施它们
class A implements View.OnClickListener
并提供我们班级中用于处理onClick事件的逻辑? 所以他们何时被召唤。(我知道当我们点击该特定视图时会调用它们) 我想要它们被称为
的机制或实现或者我应该使用抽象类来做这件事? 我真的被卡住了! 谢谢你
答案 0 :(得分:0)
您想要弄清楚的是Fragments
之间的沟通。 Here它得到了很好的解释。如果您想在Activities
之间进行通信,那么您应该阅读Intents
。
答案 1 :(得分:0)
我不完全确定我理解,但听起来你只需要实现一个DB类。为此,您可以找到许多好的示例,例如Here。在ActivityA
中,您可以在AsyncTask中执行数据库操作,以便这些操作在后台完成,并且不会阻止您的UI
线程。然后在AyncTask
中使用单独的ActivityB
来访问您的数据库类以检索信息
就使用OnClickListener
而言,您可以通过不同方式执行此操作。你可以在一个单独的类中定义它们,但它通常更容易,并且在使用它们的类中执行它们同样有效。你可以在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
}
});
定义button1
后,在您的java代码中
无需查看代码并了解您的具体问题,这就是您可能正在寻找的内容。如果没有,请更具体地说明您想要什么,也许我们可以更好地帮助您
答案 2 :(得分:0)
接口用于定义Java中的一种行为。如果一个类实现了一个接口,它会向编译器保证它可以执行该接口中的所有方法。
例如,您可以使用Printable接口,其中包含可以打印的对象所需的方法(例如,getStringRepresentation方法)。任何实现Printable的类都必须实现其所有方法,因此您必须能够打印该类的对象。
您可以阅读有关接口here的更多信息。
如果你只想将数据从A类传递到B类,你不一定需要一个接口,因为你没有多个类可以做同样的事情,这就是您可能需要使用界面来定义它们的常见行为。
为什么不能使用B方法之一的参数将数据从A类传递给B类对象?
e.g。
// somewhere in the methods of A
B b = new B();
b.giveData(theData);