【问题标题】:How to initialize interface in the mainActivity如何在mainActivity中初始化界面
【发布时间】:2015-09-11 08:51:00
【问题描述】:

我有一个使用蓝牙的 mainActivity,还有另一个扩展 BaseExpandableListAdapter 的类。我想要做的是,当一个特定的动作发生时 在 mainActivity 类中,蓝牙适配器应传递给扩展 BaseExpandableListAdapter 的类。

为此,我创建了如下所示的接口 IBTAdapterPasser,并将适配器从 mainActivity 传递给 iBTAdapterPasser,如下所示。 我的问题是,我应该如何在 mainActivity 中初始化 iBTAdapterObserver 对象?

IBTAdapterPasser

public interface IBTAdapterPasser {
    public void onDicoveryFinished(BluetoothAdapter btAdapter);
}

在 mainActivity 类中

this.iBTAdapterObserver.onDicoveryFinished(this.mBTAdapter);

MyExpandableListAdapter 类

@Override
public void onDicoveryFinished(BluetoothAdapter btAdapter) {
    // TODO Auto-generated method stub
    this.mBTAdapter = btAdapter;
}

【问题讨论】:

  • 你有什么解决办法吗..?

标签: java android interface bluetooth


【解决方案1】:

这边

IBTAdapterPasser interface;
interface = (IBTAdapterPasser) this;

您应该从主要活动中传递如下蓝牙对象

interface.onDicoveryFinished(btAdapter)

【讨论】:

  • 我试过了,但我收到了“classcastException:cant cast to com.example.XXX.IBTAdapterPasser”。能告诉我怎么解决吗
  • 我认为界面不适合这种场景
  • 您应该在该适配器类中准备一个以 BluetoothAdapter 作为参数的公共方法
  • 这样你会得到一个classCastException
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多