不是一个具体类的AndroidManifest

2022-09-04 01:29:50

当我在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;
    }

}

答案 1

不需要在清单中声明超类abstract

在清单中,您只需要包含要实例化的 Activity 类,例如使用 Intent。

如果您的抽象类仅存在于其他活动(子类)的子类中,则需要在清单中添加这些活动。

如果您的类没有子类,则从类声明中删除:abstract

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {

并删除您的抽象方法:

protected abstract void startDemo(); 

答案 2

推荐