web-dev-qa-db-ja.com

具体的なクラスではありませんAndroidManifest

AndroidManifestにアクティビティを追加すると、具体的なクラスがないというエラーが発生します。アクティビティの抽象クラスを削除して問題を理解するのを手伝ってください。しかし、それは解決しません。

public abstract class MapsActivity extends FragmentActivity implements OnMapReadyCallback {
    private GoogleMap mMap;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.map_fragment);
        setUpMap();
    }

    @Override
    protected void onResume() {
        super.onResume();
        setUpMap();
    }

    @Override
    public void onMapReady(GoogleMap map) {
        if (mMap != null) {
            return;
        }
        mMap = map;
        startDemo();
    }

    private void setUpMap() {
        ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMapAsync(this);
    }

    /**
     * Run the demo-specific code.
     */
    protected abstract void startDemo();

    protected GoogleMap getMap() {
        return mMap;
    }

}
14
Savita

マニフェストでabstractスーパークラスを宣言する必要はありません

マニフェストには、たとえばインテントを使用してインスタンス化するアクティビティクラスのみを含める必要があります。

抽象クラスが他のアクティビティ(サブクラス)をサブクラス化するためだけに存在する場合は、それらのアクティビティをマニフェストに追加する必要があります。

クラスにサブクラスがない場合は、クラス宣言からabstractを削除します。

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {

また、抽象メソッドも削除します。

protected abstract void startDemo(); 
22