2017-04-17 9 views
-1

Ich habe fragment erklärte in meiner activity_main.xml-Datei wie folgt:Warum wird jede Methode im Fragment mehr als einmal aufgerufen?

<fragment 
    android:name="tariq.bisma.practicefragments.fragment.ChapterListFragment" 
    android:id="@+id/list_fragment" 
    android:layout_width="0dp" 
    android:layout_height="match_parent" 
    android:layout_weight="1" /> 

Und ich hinzufüge es nicht programmatisch ist meine MainActivity.java Datei

public class MainActivity extends AppCompatActivity { 
    public static final String TAG = "MainActivity"; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     Log.d(TAG, "onCreate: "); 
    } 
} 

Ich Protokollierung jedes Verfahren in Dieses Fragment wie

@Override 
public void onStart() { 
    Log.d(TAG, "onStart: "); 
    super.onStart(); 
} 

@Override 
public void onResume() { 
    Log.d(TAG, "onResume: "); 
    super.onResume(); 
} 

@Override 
public void onPause() { 
    Log.d(TAG, "onPause: "); 
    super.onPause(); 
} 

ist die logcat:

D/ChapterListFragment: onAttach: 
D/ChapterListFragment: onCreate: 
D/ChapterListFragment: onCreateView: 
D/ChapterListFragment: onViewCreated: 
D/ChapterListFragment: onAttach: 
D/ChapterListFragment: onCreate: 
D/ChapterListFragment: onCreateView: 
D/MainActivity: onCreate: 
D/ChapterListFragment: onStart: 
D/ChapterListFragment: onStart: 
D/ChapterListFragment: onResume: 
D/ChapterListFragment: onResume: 

Kann jemand erklären, warum jede Methode mehr als einmal aufgerufen wird.

Ich habe die folgende Frage gelesen und es nicht auf mein Problem angewendet. Why is my onCreateView method being called twice?

+0

Ihre Fragment Höhe machen und Breite Entweder wrapping_content oder 0dp und dann noch einmal testen. –

+0

Warum wäre das ein Problem ???? – AwaisMajeed

+0

Hat es dein Problem gelöst? –

Antwort

0

bitte versuchen Sie es auf dem realen Gerät, oder wenn Sie Emulator verwenden dann muss der Emulator auf der ersten Schicht des Desktops, wenn Sie versuchen, die App zu laufen,

Verwandte Themen