タイトルからわかるように、私の問題ステートメントが何であるかはよくわかりません。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) を使用できません。
この問題を解決するにはどうすればよいですか? 別のクラスが必要ですか?それとも、何かが足りないのですか?
ありがとう!