2017-11-24 1 views
2

Im Meine App habe Probleme in Teil,Probleme beim Zugriff auf die Hauptseite, wenn die Option aus der Navigationsleiste ausgewählt wird?

Im erstellt eine Navigation Schublade, mit 8 Option. Wenn ich auf meine erste Option klicke, gehe ich auf die Hauptseite (der Name der Hauptseite lautet DriverDashboard). wenn ich zweite Option klicke, um zu einer anderen Klasse zu gehen. usw.

Problem: Zuerst wähle ich meine erste Option es geht nicht auf meine Hauptseite. Aber wenn ich die 2. oder 3. oder eine andere Option wähle, wähle ich meine 1. Option und gehe auf die Hauptseite. Aber direkt wähle ich 1. Option es geht nicht auf die Hauptseite. zeige nur weißen Farbbildschirm. Ich denke, Content_frame kann nicht in dieser Zeit entfernen. Wie kann ich dieses Problem beheben.

Hier Java-Code,

mDrawerList.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> parent, View view, 
           int position, long id) { 

      cd = new ConnectionDetector(NavigationDrawerNew.this); 
      isInternetPresent = cd.isConnectingToInternet(); 

      FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); 

      switch (position) { 

       case 0: 
        break; 
       case 1: 
        ft.replace(R.id.content_frame, new DashBoardDriver()); 
        break; 
       case 2: 
        ft.replace(R.id.content_frame, new DriverRadius()); 

        break; 
       case 3: 
        ft.replace(R.id.content_frame, new TripSummeryList()); 
        break; 
       case 4: 
        ft.replace(R.id.content_frame, new BankDetails()); 
        break; 
       case 5: 
        ft.replace(R.id.content_frame, new PaymentDetails()); 
        break; 
       case 6: 
        ft.replace(R.id.content_frame, new ChangePassWord()); 
        break; 
       /* case 7: 
        ft.replace(R.id.content_frame, new SettingsLanguageChange()); 
        break;*/ 
       case 7: 
        Intent feedback_intent = new Intent(NavigationDrawerNew.this, FeedBackPage.class); 
        startActivity(feedback_intent); 

        break; 
       case 8: 
        Intent about_intent = new Intent(NavigationDrawerNew.this, AboutUs.class); 
        startActivity(about_intent); 

        break; 
       case 9: 

        showBackPressedDialog(true); 
        break; 

      } 
      ft.commit(); 
      mDrawerList.setItemChecked(position, true); 
      drawerLayout.closeDrawer(mDrawer); 

     } 
    }); 
} 

enter image description here

+0

setzen Sie Ihre dashboardDriver 0 Fall: – Bek

+0

können Sie mir sagen, in welcher Klasse Sie Navigationsleiste aufrufen? –

+0

Wenn Sie zuerst auf die Position klicken, die zuerst ausgewählt wurde oder auf Null? – Bek

Antwort

0

Sie einige

Log.v("Debugging Tag","Is this printed ?"); 
tun

im Fall 1, und auch versuchen 2 den Fall 1 und Fall zu wechseln versuchen sollte, wenn zu sehen es könnte ersetzen

0

versuchen Sie dies

switch (position) { 

     case 0: 
      Log.d(TAG, "clicked position is "+ position); 
      ft.replace(R.id.content_frame, new DashBoardDriver()); 
      break; 
     case 1: 
      Log.d(TAG, "clicked position is "+ position); 
      ft.replace(R.id.content_frame, new DriverRadius()); 

      break; 
     case 2: 
      Log.d(TAG, "clicked position is "+ position); 
      ft.replace(R.id.content_frame, new TripSummeryList()); 
      break; 
     case 3: 
      Log.d(TAG, "clicked position is "+ position); 
      ft.replace(R.id.content_frame, new BankDetails()); 
      break; 
     case 4: 
      Log.d(TAG, "clicked position is "+ position); 
      ft.replace(R.id.content_frame, new PaymentDetails()); 
      break; 
     case 5: 
      Log.d(TAG, "clicked position is "+ position); 
      ft.replace(R.id.content_frame, new ChangePassWord()); 
      break; 
     case 6: 
      Log.d(TAG, "clicked position is "+ position); 
      Intent feedback_intent = new Intent(NavigationDrawerNew.this, FeedBackPage.class); 
      startActivity(feedback_intent); 

      break; 
     case 7: 
      Log.d(TAG, "clicked position is "+ position); 
      Intent about_intent = new Intent(NavigationDrawerNew.this, AboutUs.class); 
      startActivity(about_intent); 

      break; 
     case 8: 
      Log.d(TAG, "clicked position is "+ position); 
      showBackPressedDialog(true); 
      break; 

    } 
+0

Haben Sie es versucht. Welche Protokolle zeigen? – Bek

+0

geklickte Position ist 1 – Arun

+0

Fall 1 funktioniert, aber content_frame kann nicht entfernen, das ist das Problem. Wenn wir Fall 2 aufrufen und dann auf Fall 1 klicken, geht der Zeitfall 1 auf die Seite driverdashboard. Mein Problem ist, wenn ich Fall 1 direkt verwende, zeige es weiße Seite an.Ich denke content_frame nicht entfernen .. – Arun

0

In Ihrer Tätigkeit des onCreate, fügen Sie diese

FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); 
ft.replace(R.id.content_frame, new DashBoardDriver()); 
ft.commit(); 
mDrawerList.setItemChecked(1, true); 
+0

Bereits versuchen, das funktioniert nicht für mich. – Arun

+0

Also nach dem Hinzufügen dieser in onCreate, noch blankScreen? –

+0

Sie müssen mDrawerList vor diesem Code initialisieren –

0

Sie tun kann es wie ..

protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     lst_menu_items = (ListView) findViewById(R.id.drawer_listview); 

     FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); 
     ft.replace(R.id.content_frame, new DashBoardDriver()); 
     ft.commit(); 
     lst_menu_items.setItemChecked(0, true); 

    } 

Und hier Ihre Listview OnItemClickListener

lst_menu_items.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
       @Override 
       public void onItemClick(AdapterView<?> parent, View view, 
             int position, long id) { 


        FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); 

        switch (position) { 

         case 0: 
         ft.replace(R.id.content_frame, new DashBoardDriver()); 
          break; 
         case 1: 
          ft.replace(R.id.content_frame, new DriverRadius()); 
          break; 

         //..... 
        } 
        ft.commit(); 
        lst_menu_items.setItemChecked(position, true); 

       } 
      }); 
+0

Ich lade meinen XML-Code unter. – Arun

+0

@Arun Ich habe Ihre getestet Es funktioniert auch gut ... –

+0

@Arun dies in onCreate Methode aufrufen 'FragmentTransaction ft = getSupportFragmentManager(). BeginTransaction(); ft.replace (R.id.content_frame, new DashBoardDriver()); ft.commit(); mDrawerList.setItemChecked (0, true); 'und set' ft.replace (R.id.content_frame, new DashBoardDriver()); 'in Fall 0 –

0

@vikas singh

Hier xml-Code,

  <?xml version="1.0" encoding="utf-8"?> 
     <android.support.v4.widget.DrawerLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/navigation_drawer" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:fitsSystemWindows="true" > 

<FrameLayout 
    android:id="@+id/content_frame" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" /> 



<RelativeLayout 
    android:id="@+id/drawer" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_gravity="left|start" 
    android:background="#ffffff" > 

    <ListView 
     android:id="@+id/drawer_listview" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="start" 
     android:background="#ffffff" 

     android:choiceMode="singleChoice" 
     android:dividerHeight="0dp" 
     android:divider="@null"/> 


<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_below="@+id/drawer_listview"> 

    <View 
     android:id="@+id/v1" 
     android:layout_width="match_parent" 
     android:layout_height="15dp" 
     android:layout_alignParentBottom="true" 
     android:background="#ffffff" 


     /> 


    <com.plowfourme.driver.widgets.CustomTextView 
     android:id="@+id/verion_no" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_above="@+id/v1" 
     android:layout_centerInParent="true" 
     android:text="Version 2.0" 
     android:background="#ffffff" 
     android:gravity="center" 
     android:textColor="#c9c9c9" 
     android:textSize="15sp" 
     android:typeface="sans"/> 

    <View 
     android:id="@+id/v3" 
     android:layout_width="match_parent" 
     android:layout_height="1dp" 
     android:background="#f7f7f7" 
     android:layout_marginBottom="15dp" 
     android:layout_above="@+id/verion_no" 

     /> 

</RelativeLayout> 
</RelativeLayout> 

Verwandte Themen