まず、ここですべてを読みます。 https://developer.android.com/guide/components/fragments.htmlアクティビティにフラグメントを追加
1つのアクティビティがあり、画面を水平に分割して2つのフラグメントを追加したいとします。私はXML上にフラグメントを追加する方法を知っていますが、私はそれを望んでいません。私はそれらをJavaに追加したい。
私のアクティビティがFragmentを拡張しない限り、FragmentManagerは機能しません。アクティビティでこれを行う必要がありますか、フラグメントの1つにフラグメントトランザクションメソッドを追加する必要がありますか?
私のアクティビティをFragmentに拡張すると、それもフラグメントになりますか?
フラグメントマネージャとfragmenttransactionをフラグメントのいずれかに置くと、どのようにしてアクティビティに接続できますか?
これは私が私の破片が
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class ConversionActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_conversion);
NumpadFragment fragment = new NumpadFragment();
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.add(R.id.numpad_layout,fragment);
fragmentTransaction.commit();
}
}
に表示する活動であり、これは断片
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class NumpadFragment extends Fragment {
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_numpad,container,false);
}
}
「私の活動が断片を拡張しない限り、問題はFragmentManager does not worksですか? –
コードを使用してFragmentに追加するには、 'activity_conversion.xml'に2つのコンテナレイアウトを作成し、' fragmentTransaction.add(R.id.、fragment);および 'fragmentTransaction.add(R.id。 、fragment); ' –
' getFragmentManager() 'の代わりに' getSupportFragmentManager() 'を使いたいとします。 –