0

現在JavaforAndroidで構築しているアプリケーションの場合、次のものを探しています。たとえば、10個のデータベースレコードのセットがあります。各行について、アクティビティを表示したいと思います(これは毎回同じアクティビティです)。アクティビティには、更新する行ごとにいくつかのフィールドがあります。

たとえば、連絡先のあるレコードセットがあり、10個の連絡先をループしてデータを更新するとします。

今、私はこれがアンドロイドでどのように機能するべきかわかりません。これにはフラグメントを使用する必要がありますか?これをどのようにモデル化する必要がありますか。いくつかの擬似コードが役立ちます。

これはカスタムアプリなので、ICS用に開発しています

どうもありがとう

4

2 に答える 2

1

で作成FragmentActivityViewPagerます。

ViewPagerAdapter異なるデータで同じフラグメントを表示するために使用します。

たとえば、表示するIDをデータベースイメージに保存すると、コードは次のようになります。

public class MyActivity extends FragmentActivity {

public static class MyFragment extends Fragment {
    @Override
    public View onCreateView(final LayoutInflater inflater, final ViewGroup container, final Bundle savedInstanceState) {
        final ImageView content = new ImageView(getActivity());
        content.setImageResource(getArguments().getInt("img"));

        return content;
    }
}

private class MyPagerAdapter extends FragmentStatePagerAdapter {
    private final ArrayList<Integer> imgs;

    public AppTourPagerAdapter(final FragmentManager fm, final ArrayList<Integer> imgs) {
        super(fm);
        this.imgs = imgs;
    }

    @Override
    public int getCount() {
        return imgs.size();
    }

    @Override
    public Fragment getItem(final int position) {
        final MyFragment fragment = new MyFragment();
        final Bundle args = new Bundle();
        args.putInt("img", imgs.get(position));
        fragment.setArguments(args);
        return fragment;
    }
}

@Override
protected void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.my_activity);

    final ViewPager pager = (ViewPager) findViewById(R.id.pager);
    final ArrayList<Integer> imgIds = ... // get values from database
    pager.setAdapter(new MyPagerAdapter(getSupportFragmentManager(), imgIds));
}
}
于 2012-12-06T09:23:14.207 に答える
0

ビューページャーアダプターでビューページャーを使用します。次に、ビューページャーを使用してレイアウトを作成します。その後、めくりたいビューページャーの項目を含むレイアウトを作成します。アダプターで、めくりたいレイアウトを膨らませます。オンラインにはたくさんの例があります。グーグルそれ。あなたは何の90%をコピーして貼り付けることができます、あなたはそれを機能させる必要があります。

于 2012-12-06T09:22:59.920 に答える