我想问你一下AppCompatActivity(由Android工作室生成)和自定义片段。我在Android studio中使用内置生成器制作了AppCompatActivity。但我想使用我的自定义类,所以我已经制作了3个布局xml和3个类。 E.g:
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;
}
}
我想问你,如何将我的自定义类(从Fragment扩展)添加到R.id或者我不知道在哪里使用:getFragmentManager().findFragmentById(R.id.fragment_id);
?我需要知道哪个是我的activity类中的当前活动片段,我必须使用活动类中的新数据更新活动片段中的textviews。你能帮我吗?
答案 0 :(得分: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>