私はのフラグメントと初めて会います。だから私には少し複雑です。私はandroid-hiveでチュートリアルを読んでいます。しかし、私はある点を理解することができません。私が理解していないことがあります。 oneFragment()、twoFragment()...がありますが、開始できません。したがって、linkからoneFrameemt()またはtwoFragment()のいずれかを完了してください。私はとても喜ぶでしょう。助けてください...Androidフラグメントの初期化
答えて
Muhamar、あなたは常にアクティビティの中でフラグメントを開始する必要があります。あなたのフラグメント1は、このコードを持っている場合:
public class OneFragment extends Fragment{
public OneFragment() {
// Required empty public constructor
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_one, container, false);
}
}
メインアクティビティでは、チュートリアルのように開始することができます言う:
主な活動はより多くを表示するには、アダプタを使用している。この場合public class MainActivity extends AppCompatActivity {
//blabla
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//blablabla
}
private void setupViewPager(ViewPager viewPager) {
ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
adapter.addFragment(new OneFragment(), "ONE");
//blabla
viewPager.setAdapter(adapter);
}
1つのフラグメントであるため、コード内にアダプターのファイルが多くなければなりません。アダプターのファイルはチュートリアルにもあります。
UPDATE:
1)レイアウトでの断片を入れて:を使用すると、アダプタにフラグメントをinitalizeしたくない場合、あなたはその断片を初期化するために二つのことをしなければならない
あなたの主な活動のレイアウトでは、フラグメントが含まれており、(この例ではandroid:id="@+id/headlines_fragment"
)、それを特定する必要があります。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<fragment android:name="com.example.android.fragments.HeadlinesFragment"
android:id="@+id/headlines_fragment"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="match_parent" />
</LinearLayout>
2)あなたの主な活動にフラグメントを挿入します。あなたの活動にfreagmentを追加することができ、次のコードでを:
public class MainActivity extends FragmentActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.news_articles);
OneFragment firstFragment = new OneFragment();
// In case this activity was started with special instructions from an
// Intent, pass the Intent's extras to the fragment as arguments
firstFragment.setArguments(getIntent().getExtras());
// Add the fragment to the 'fragment_container' FrameLayout
getSupportFragmentManager().beginTransaction()
.add(R.id.headlines_fragment, firstFragment).commit();
}
}
UPDATE 2:あなただけにそれを追加する必要がアダプタから初期化しますチュートリアルでは主なアクティビティについて説明します。主な活動にこのクラスを追加します。
class ViewPagerAdapter extends FragmentPagerAdapter {
private final List<Fragment> mFragmentList = new ArrayList<>();
private final List<String> mFragmentTitleList = new ArrayList<>();
public ViewPagerAdapter(FragmentManager manager) {
super(manager);
}
@Override
public Fragment getItem(int position) {
return mFragmentList.get(position);
}
@Override
public int getCount() {
return mFragmentList.size();
}
public void addFragment(Fragment fragment, String title) {
mFragmentList.add(fragment);
mFragmentTitleList.add(title);
}
@Override
public CharSequence getPageTitle(int position) {
return mFragmentTitleList.get(position);
}
}
はそれがお役に立てば幸いです。
そしてここに私の問題があります。私は断片を活動に初期化する方法を知らない。あなたは試みますか? –
更新された回答;) – Alvaro
そして、私はそれをどうしたらいいでしょうか? –
- 1. Androidでのグローバル初期化
- 2. Android - メインアクティビティのスクロールテキスト(marquee_forever)が内部フラグメントの変更時に初期化される
- 3. デフォルト初期化と値の初期化
- 4. 初期化子の初期化子
- 5. Androidの複合ビューの初期化
- 6. Androidでのマトリックスの初期化?
- 7. PayPal mpl Android、ENV_SANDBOXの初期化問題
- 8. 変数の初期化 - Androidスタジオ
- 9. Android、オーディオレコーダーの初期化方法
- 10. Android共有プリファレンスの初期化
- 11. androidのアクティビティビューを初期化する
- 12. フラグメントのビューを初期化するとアプリケーションがクラッシュする
- 13. ネストしたビューページのフラグメントが初期化されない
- 14. NullPointerExceptionフラグメント内のビューを初期化する
- 15. 遅延初期化と初期化
- 16. SharedPreferencesを使用したAndroid初期化
- 17. フラグメントからボタンを初期化する方法
- 18. Androidフラグメントのインスタンス化:newInstance()
- 19. 初期化サイクルエラー
- 20. 初期化は
- 21. が初期化
- 22. 初期化ビューモデル
- 23. collectionViewLayout初期化
- 24. 初期化が
- 25. 初期化オブジェクト
- 26. 初期化オブジェクト
- 27. 初期化オブジェクト
- 28. 初期化フォーム
- 29. 初期化エラー
- 30. テンソルフロー初期化
最初のリンクが壊れている)と私は、あなたが話しているかわかりません。 – rekire
壊れたリンクは申し訳ありません。しかし、2番目のリンクを参照し、チュートリアルを読んでください。あなたはそれを理解するでしょう。 –
私は断片をよく知っているので、完全にそれを読むことは望ましくありません。どのようにフラグメントを開始しようとしますか?あなたの問題に関するアイデアを得ることができるかもしれません。 – rekire