Android在下一个标签中显示并保存数据

时间:2013-02-27 04:27:27

标签: android android-fragments fragmentpageradapter

我创建了一个FragmentActivity个2个标签。这是Android Developer教程中使用TabFragmentActivity Code Here

的基本FragmentPagerAdapter示例
    public class FragmentPagerSupport extends FragmentActivity implements
    ActionBar.TabListener {
        SectionsPagerAdapter mSectionsPagerAdapter;
        static final int NUM_ITEMS = 10;
        ViewPager mViewPager;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.fragment_pager);
            final ActionBar actionBar = getActionBar();
            actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
                    ...........
            }

        @Override
        public Fragment getItem(int position) {
            Fragment fragment = null;
            Bundle args = new Bundle();         
            switch (position) {
            case 0:
                fragment = new Fragment01();
                args.putInt(Fragment01.ARG_SECTION_NUMBER, position + 1);
                fragment.setArguments(args);
            break;
            case 1:
                fragment = new Fragment02();
                args.putInt(Fragment02.ARG_SECTION_NUMBER, position + 1);
                fragment.setArguments(args);
            break;
                    return fragment;
               }
           }

然后我为2 fragments创建了2个不同的tabs

public static class Fragment01 extends Fragment {
    private EditText mName; 
    private EditText mEmail1;
    public static final String ARG_SECTION_NUMBER = "2";

    public Fragment01() {
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {

            View v = inflater.inflate(R.layout.activity_customer_add, container, false);
            mName = (EditText) v.findViewById(R.id.customer_add_name);
            mEmail = (EditText) v.findViewById(R.id.customer_add_email);
                    View confirmButton = v.findViewById(R.id.customer_add_button);

                    confirmButton.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
            ......................
                             }
            });
     }
  }

现在在第二个标签中,我需要显示第一个标签中的NameEmail的输入值,并且从第二个标签确认需要保存在database。但在这里我卡住了。我不知道如何保存first tab的数据?请帮忙。

1 个答案:

答案 0 :(得分:0)

一种方法可能是使用 Singleton DP。只有一个对象具有名称,电子邮件等作为字段。当您处于第一个片段时,使用setter设置Name和Email字段,并使用第二个片段中的getter访问它们。

确认后,您可以将整个对象插入数据库。