2017-04-26 64 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會顯示 –