[Android Studio] Wann brauche Ich den Package Namen vor einem Fragment und wann nicht?

  • Antworten:3
  • Bentwortet
Col.Biernot
  • Forum-Beiträge: 30

16.10.2015, 13:03:37 via Website

Hallo,

Ich habe eine App mit Navigation Drawer welche bem klicken auf einen Punkt ein Fragment öffnen soll. Das funktioniert mittlerweile auch ganz gut. Nur habe Ich das Problem, dass Ich bei einem von drei Fragmenten das Fragment mit packagenamen davor angeben muss.

public boolean onNavigationItemSelected(MenuItem item) {
     Fragment fragment;
     FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
     fragment = new com.sbeyer.daainv.ListFragment();
     int id = item.getItemId();

         if (id == R.id.nav_listview) {
             fragment= new com.sbeyer.daainv.ListFragment();

         } else if (id == R.id.nav_add_data) {
             fragment= new AddDataFragment();

         } else if (id == R.id.nav_settings) {

         } else if (id == R.id.nav_legal_information) {
             fragment = new LegalInformationFragment();
         }
     ft.replace(R.id.container, fragment);
     ft.addToBackStack(null);
     ft.commit();
     DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
     drawer.closeDrawer(GravityCompat.START);
     return true;
 }

kann mir irgendjemand erklären wieso dass so ist? Der ( Ich nenne Ihn mal) initialisierungscode bei den Fragments und den dazugehörigen Layout xmls ist quasi identisch...
MfG
Col.Biernot

Antworten
Gelöschter Account
  • Forum-Beiträge: 438

16.10.2015, 13:54:43 via Website

Ich rate mal: Vermutlich hast Du einen "Stern"-import auf android.app:

import android.app.*;

oder

import android.support.v4.app.*;

In diesen Paketen liegen Klassen mit dem Namen ListFragment.
(Oder Du hast ListFragment aus diesen Paketen importiert...)

Um dann "Deins" zu verwenden, musst Du den Namen voll qualifizieren.

Aktuelles Entwicklungsprojekt: (thinking) Sudoku Dojo Free (lightbulb)
Ich freue mich über Tester/innen.

Antworten
Col.Biernot
  • Forum-Beiträge: 30

19.10.2015, 09:06:15 via Website

Das war es! Ich danke Dir!

Antworten