2017-04-17 46 views
-1

我已经声明fragmentactivity_main.xml文件是这样的:为什么片段中的每个方法都被多次调用?

<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

请尝试在实际设备上,或者如果你正在使用模拟器,则模拟器必须是桌面的第一层上,当您尝试运行应用程序,

相关问题