从标题中可以看出,我不确定我的问题陈述是什么。我有一个扩展 Activity 的抽象类 A。A 类定义了一个抽象方法:
public abstract class A extends Activity {
ActionBar.Tab devicesTab, otherTab;
Fragment fragmentTab = new FragmentTab();
protected abstract void connectBluetooth(BluetoothDevice deviceToConnect);
}
实现 connectBluetooth(BluetoothDevice deviceToConnect) 的类扩展了 A 类:
public class MainActivity extends A {
@Override
protected void connectBluetooth(BluetoothDevice deviceToConnect)
{
Intent intent = new Intent(this, bActivity.class);
intent.putExtra(BluetoothDevice.EXTRA_DEVICE, deviceToConnect);
this.startActivity(intent);
}
}
AI 类内部有一个 Fragment,它有自己的类,FragmentTab 类扩展了 Fragment。此类包含允许用户选择要连接的设备的 UI。我需要将该设备传递给 A 类或有权访问 connectBluetooth(BluetoothDevice deviceToConnect) 以便主要活动可以从它开始。我尝试使用“包装器”方法,但它总是导致方法需要是静态的,这不允许我使用 connectBluetooth(BluetoothDevice deviceToConnect) 因为它是一个抽象的受保护方法。
我能做些什么来解决这个问题?它需要另一个类吗?还是我只是错过了什么?
谢谢!