Implementieren der Methode nicht möglich

  • 13 Antworten
  • Neuester Beitrag
Diskutiere Implementieren der Methode nicht möglich im Android App Entwicklung im Bereich Betriebssysteme & Apps.
A

Androide231198

Ambitioniertes Mitglied
Hallo Zusammen,

ich habe ein Problem.
Es geht um folgende Zeile:

Public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectListener, OnMapReadyCallback { ...

Ich kann für das OnMapReadyCallback keine Methode implementieren, wenn ich alt + einfügen drücke habe ich nur die Möglichkeit ein Interface zu implementieren

Habt ihr eine Idee?
Schöne Grüße
Andro
 
A

Androide231198

Ambitioniertes Mitglied
Und jetzt bitte auf Deutsch :)
 
swa00

swa00

Moderator
Teammitglied
Und jetzt bitte auf Deutsch :)
Öhm, steht doch da ganz deutlich :

Du sollst LayoutListener vom OnMapReadyCallback separieren und nicht serial (chain) ableiten so dass diese
unabhängig voneinander ihre callbacks verarbeiten können.

Also einen eigenen Listener in die Klasse

Aber ich dachte du bist an der API eh dran - da steht doch ganz genau die Vorgehensweise und was man beachten muss (obiger Link)
 
A

Androide231198

Ambitioniertes Mitglied
was meinst du mit separieren
 
A

Androide231198

Ambitioniertes Mitglied
hä des check ich ned. wie mach ich des denn auf mein problem bezogen ? :(
 
swa00

swa00

Moderator
Teammitglied
Also ich weis ja jetzt nicht was ich darauf antworten soll, denn jetzt kommen wir an die
wahrscheinlich fehlenden Grundlagen dran .

Nochmal : Du sollst nicht OnMapReadyCallback als extends bei deiner Activity angeben, sondern einen eigenen Listener
bauen - so wie ich das Beispiel oben angegeben habe.

OnMapLoadedCallback and OnMapReadyCallback, when to use which?
 
Zuletzt bearbeitet:
A

Androide231198

Ambitioniertes Mitglied
Wenn du mir noch zeigen könntest wie ich den Listener baue, wäre mein Tag gerettet :)
-- Dieser Beitrag wurde automatisch mit dem folgenden Beitrag zusammengeführt --
weil ich kann doch nicht einfach schreiben:
public void OnMapLoadedCallback () {
}
und fertig oder?
 
swa00

swa00

Moderator
Teammitglied
Andro ich habe so ein bisschen das Gefühl , dass du jetzt an diesem Punkt wirklich nicht weißt , was du tust
kann das sein ??

Schau mal, ich habe extra für Dich mehrfach Tante Google bemüht.
Da steht doch eindeutig drin , wie man es machen soll , sogar mehrere Beispiele.

Hast du dir das schon mal angeschaut ??
OnMapLoadedCallback and OnMapReadyCallback, when to use which?

Ich weis wirklich nicht , wo ich dir noch mehr helfen soll.
 
A

Androide231198

Ambitioniertes Mitglied
Hallo Stefan,

du hast vollkommen recht, dass ich nicht weiss was ich hier mache, aufgrunddessen, dass ich bis dato immer einfach das OnMapReadyCallback implementieren konnte und deshalb habe ich mich damit noch nie ausseinander gesetzt und deswegen wäre mir am liebsten, was ich direkt an meinem Projekt ändern müsste, damit es wieder funktioniert.
 
swa00

swa00

Moderator
Teammitglied
Hallo Andro,

ich helfe ja gerne , aber ich kenne dein Projekt ja nicht.

Man weis nicht was du vorher , dazwischen und danach tust .
Man weis lediglich von dir , dass du den CallBack extended hast und dass das in Kombination falsch ist.

Ich kann also nur auf der Basis Antworten , was ich als Info habe ...

Ein wenig verwundert war ich jetzt , dass du eher hier schreibst , als dass du die Varianten , die ich für
Dich heraus gesucht habe , mal umzusetzen -
Statt dessen aber hoffst, dass man die Kristallkugel anwirft und weiter mutmaßt - das geht aber leider nicht .

Also Frage an Dich :
Hast du mal die Lösungsansätze umgesetzt ? Wenn ja - gab es weitere Probleme und wenn ja warum ?
 
A

Androide231198

Ambitioniertes Mitglied
jaaa habe ich aber ich weiss nicht wie ich die umsetze
hier ist mein MainActivity Code:
Code:
import android.os.Bundle;import android.support.v4.app.FragmentManager;import android.support.design.widget.NavigationView;import android.support.v4.view.GravityCompat;import android.support.v4.widget.DrawerLayout;import android.support.v7.app.ActionBarDrawerToggle;import android.support.v7.app.AppCompatActivity;import android.support.v7.widget.Toolbar;import android.view.MenuItem;public class MainActivity extends AppCompatActivity        implements NavigationView.OnNavigationItemSelectedListener, onMapReadyCallback  {        SupportMapFragment sMapFragment;        @Override        protected void onCreate (Bundle savedInstanceState){        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);        setSupportActionBar(toolbar);        sMapFragment = SupportMapFragment.newInstance();        sMapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(mapl);        sMapFragment.getMapAsync(this);        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);        ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(                this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);        drawer.setDrawerListener(toggle);        toggle.syncState();        NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);        navigationView.setNavigationItemSelectedListener(this);    }        @Override        public void onBackPressed () {        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);        if (drawer.isDrawerOpen(GravityCompat.START)) {            drawer.closeDrawer(GravityCompat.START);        } else {            super.onBackPressed();        }    }        @Override        public boolean onOptionsItemSelected (MenuItem item){        // Handle action bar item clicks here. The action bar will        // automatically handle clicks on the Home/Up button, so long        // as you specify a parent activity in AndroidManifest.xml.        int id = item.getItemId();        //noinspection SimplifiableIfStatement        return super.onOptionsItemSelected(item);    }        @SuppressWarnings("StatementWithEmptyBody")        @Override        public boolean onNavigationItemSelected (MenuItem item){        android.support.v4.app.FragmentManager sfm = getSupportFragmentManager();        int id = item.getItemId();        if (id == R.id.nav_map) {            map_fragment map = new map_fragment();            FragmentManager manager = getSupportFragmentManager();            manager.beginTransaction().replace(R.id.relativelayout_for_fragment, map).commit();            // Handle the camera action        } else if (id == R.id.nav_location) {            location_fragment location = new location_fragment();            FragmentManager manager = getSupportFragmentManager();            manager.beginTransaction().replace(R.id.relativelayout_for_fragment, location).commit();        } else if (id == R.id.nav_events) {            event_fragment events = new event_fragment();            FragmentManager manager = getSupportFragmentManager();            manager.beginTransaction().replace(R.id.relativelayout_for_fragment, events).commit();        } else if (id == R.id.nav_calendar) {            calendar_fragment calendar = new calendar_fragment();            FragmentManager manager = getSupportFragmentManager();            manager.beginTransaction().replace(R.id.relativelayout_for_fragment, calendar).commit();        } else if (id == R.id.nav_chat) {            chat_fragment chat = new chat_fragment();            FragmentManager manager = getSupportFragmentManager();            manager.beginTransaction().replace(R.id.relativelayout_for_fragment, chat).commit();        }        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);        drawer.closeDrawer(GravityCompat.START);        return true;        }    }
 
Kardroid

Kardroid

Stammgast
Hallo Androide231198,

ich glaube, was swa00 meint ist, dass dir die Grundlagen in objektorienterter Programmierung fehlen, und zwar hier ganz explizit in der Java-Welt.

Wenn das nicht der Fall ist, und du weißt was eine Klasse, ein Interface, eine abstrakte Klasse sind und wie die Vererbung in Java funktioniert, dann solltest du eigentlich mit den Antworten von Swa001 locker zurecht kommen.
 
Ähnliche Themen - Implementieren der Methode nicht möglich Antworten Datum
6
1