2017-04-26 7 views
-1

AppCompatActivity(Androidスタジオで生成)とカスタムフラグメントについてお聞きしたいと思います。私はAndroidスタジオの内蔵ジェネレータで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

はい、ThermoMeterというFragmentが表示されるよりも、自分のアクティビティでcreateを呼び出す必要があります –

関連する問題