2017-04-26 67 views
-1

我想问你关于AppCompatActivity(由Android studio生成)和自定义片段。我使用Android studio中的内置生成器制作了AppCompatActivity。但我想使用我的自定义类,所以我做了3个布局xml和3个类。例如:AppCompatActivity类中的Android片段

public class ThermoMeter extends Fragment{ 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
    View rootView = inflater.inflate(R.layout.tab1thermometer, container, false); 
return rootView; 

在我的主要活动我使用它们,如下所示:

public Fragment getItem(int position) { 
     // getItem is called to instantiate the fragment for the given page. 
     // Return a PlaceholderFragment (defined as a static inner class below). 
     switch (position) { 
      case 0: 
       ThermoMeter tabThermoMeter = new ThermoMeter(); 
       return tabThermoMeter; 
      case 1: 
       RealTimeThermoChart rtThermoChart = new RealTimeThermoChart(); 
       return rtThermoChart; 
      case 2: 
       HistoryChart historyChart = new HistoryChart(); 
       return historyChart; 
      default: 
       return null; 
     } 
    } 

我想问你,如何将我的自定义类(这是从片段扩展)添加至R .id或我不知道在哪里使用:getFragmentManager().findFragmentById(R.id.fragment_id); ?我需要知道活动类中的哪些是当前活动片段,并且必须使用活动类中的新数据更新活动片段中的文本视图。你可以帮我吗?

回答

0

在你的活动

public void ThermoMeter(){ 
    FragmentManager fragmentManager = getFragmentManager(); 
    FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); 
    Fragment_ThermoMeter fThermoMeter = new Fragment_ThermoMeter(); 
    fragmentTransaction.add(R.id.fragment_container, fThermoMeter, "ThermoMeter"); 
    fragmentTransaction.commit(); 

} 

每个片段同样的事情..谢谢你打电话想:)

的方法,在你的XML layout_activity

<FrameLayout 
    android:id="@+id/fragment_container" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:layout_below="@+id/bg1" 
    android:layout_alignParentStart="true"> 
</FrameLayout> 
+0

谢谢,我会检查它! 我在哪里可以在我的活动中调用温度计()?而不是生成的get方法? – user1036555

+0

是的,你应该在你的活动中调用create,比显示名为ThermoMeter的Fragment会显示 –