2017-04-17 7 views
-1

私はこのような私のactivity_main.xmlファイルでfragmentを宣言した:なぜフラグメント内のすべてのメソッドが複数回呼び出されているのですか?

<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" /> 

そして、私は、これは私がすべてのメソッドをログに記録するよ、私のMainActivity.javaファイル

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: "); 
    } 
} 

あるプログラムで、それを追加していませんよ

@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(); 
} 

このようなフラグメントは、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: 

すべてのメソッドが複数回呼び出されている理由を誰もが説明できます。

私は次の質問を読んだが、私の問題には当てはまらない。 Why is my onCreateView method being called twice?

+0

があなたのフラグメントの高さと幅を作り、実際のデバイス上でそれを試してみてください、またはあなたがエミュレータを使用している場合は、アプリケーションを実行しようとすると、その後、エミュレータは、デスクトップの最初の層の上にある必要がありますしてくださいwrap_contentまたは0dpのいずれかに入力して、もう一度テストします。 –

+0

なぜこれが問題になるのですか? – AwaisMajeed

+0

それはあなたの問題を解決しましたか? –

答えて

0

関連する問題