Android中界面对象的自定义适配器

时间:2018-04-17 15:06:00

标签: android listview interface adapter

在我的Android应用程序中,我有一些代表不同操作的对象。

public class OperacionDivisa implements IOperacion {
public class OperacionLargo implements IOperacion {
public class OperacionMedio implements IOperacion {
public class OperacionOpciones implements IOperacion {

每种操作都实现了IOperation接口,因此我可以制作IOperations的ArrayList并将所有操作存储在一个ArrayList中。

现在我想做反过程。我想从Firebase获得操作的arraylist(已经实现)并且我想在ListView中显示操作

我创建了一个自定义适配器,如下所示:

public class ListViewAdapterOperaciones extends ArrayAdapter<IOperacion>

问题是我需要将每个对象转换为其原始类,以在textview中显示不同的属性。所以这没用。

IOperacion operacion = (IOperacion) getItem(position);

因此,对于每个对象,我想在listView中显示一些数据但我无法弄清楚如何执行此操作。任何帮助将不胜感激。

提前致谢。

1 个答案:

答案 0 :(得分:0)

使用if语句(或类似)来检查instanceof,然后使用对象作为子类。

if (operacion instanceof OperacionLargo) {
  // Large operation
} else if (operacion instanceof OperacionDivisa) {
  // Other operation
}