如何从主要活动调用选项卡式活动片段?

问题描述:

我在android studio中选择了带有“操作栏选项卡”的选项卡式活动模板。如何从主要活动调用选项卡式活动片段?

然后,我为每个选项卡创建了三个片段(One.java,Two.java,Three.java)。

我有第二个片段中的游标相关的代码。事情是当我运行应用程序在第二个片段中的代码未被执行。

我的问题是将片段(Two.java)隐式调用,或者需要通过创建一个实例来调用(如果是,如何?)。

代码片段MainActivity.java

public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 

     if(getArguments().getInt(ARG_SECTION_NUMBER)==1){ 
      View rootView = inflater.inflate(R.layout.fragment_one, container, false); 

      return rootView; 
     } 
     else if (getArguments().getInt(ARG_SECTION_NUMBER) == 2) { 
      View rootView = inflater.inflate(R.layout.fragment_two, container, false); 
       return rootView; 

      } else { 
       View rootView = inflater.inflate(R.layout.fragment_three, container, false); 
       return rootView; 
      } 
    } 

代码片段Two.java

public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
    // Inflate the layout for this fragment 
    logReader1 = new LogReader(getContext()); 
    db = logReader1.getReadableDatabase(); 
    Cursor logCursor = db.rawQuery("SELECT rowid _id,name,Time_Used,app_Image FROM logs ORDER BY Time_Used DESC", null); 
    LogCursorAdapter logAdapter = new LogCursorAdapter((MainActivity) getContext(), logCursor); 
    ListView log_Items = (ListView) container.findViewById(R.id.list_item); 
    log_Items.setAdapter((logAdapter)); 
    return log_Items; 

} 
+2

请不要只链接到您的项目以外。你需要在问题本身中包含[mcve]。 –

+0

对不起。我是新来的。我更新了我的问题。尽快回复。 –

从我可以告诉你实际上并没有创建一个新片段。你正在扩大你打算用作片段二布局的布局。

https://developer.android.com/training/implementing-navigation/lateral.html应该让你指出正确的方向。注意他们如何创建并返回片段DemoCollectionPagerAdapter.