【问题标题】:How to call and send a string to Tab List Fragment from fragment activity如何从片段活动调用字符串并将其发送到选项卡列表片段
【发布时间】:2015-06-13 21:51:29
【问题描述】:

我有 3 个带有列表片段('A'、'B' 和 'C')的选项卡,并且还有一个导航抽屉列表,其中包含用于过滤 3 个选项卡中列表内容的数据列表。我想要的是,当我单击导航抽屉列表中的任何项目时,当前选项卡内容应刷新并应在列表中显示新数据。如果假设我们在 Tab A 中并从 Navigation Drawer 中选择任何项目,我们如何向 Tab A 发送字符串,以便刷新 Tab A 列表内容?

片段活动

    getActionBar().setDisplayShowTitleEnabled(false);
    getActionBar().setHomeButtonEnabled(false);
    getActionBar().setIcon(R.drawable.clip1);

    actionBar = getActionBar();
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
    actionBar.setDisplayOptions(0, ActionBar.DISPLAY_SHOW_TITLE); 
    setTitle("Records");

    ActionBar.TabListener tabListener = new ActionBar.TabListener(){



        @Override
        public void onTabSelected(android.app.ActionBar.Tab tab,
                android.app.FragmentTransaction ft) {
            // TODO Auto-generated method stub
            Tab.setCurrentItem(tab.getPosition());

        }

        @Override
        public void onTabUnselected(android.app.ActionBar.Tab tab,
                android.app.FragmentTransaction ft) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onTabReselected(android.app.ActionBar.Tab tab,
                android.app.FragmentTransaction ft) {
            // TODO Auto-generated method stub

        }};
        //Add New Tab

        actionBar.addTab(actionBar.newTab().setText("A").setTabListener(tabListener));
        actionBar.addTab(actionBar.newTab().setText("B").setTabListener(tabListener));
        actionBar.addTab(actionBar.newTab().setText("C").setTabListener(tabListener));

    mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
    mDrawerList = (ListView) findViewById(R.id.left_drawer);
    CategoryDatabaseHandler dbcategory = new CategoryDatabaseHandler(this);
    categoryList=dbcategory.getCategoryList();
    DrawerItemCustomAdapter drawerAdapter = new DrawerItemCustomAdapter(this, categoryList);
    mDrawerList.setAdapter(drawerAdapter);

    mDrawerList.setOnItemClickListener(new OnItemClickListener(){

            @Override
              public void onItemClick(AdapterView<?> adapter, View v, int position,
                    long arg3) 
              {
                //actionBar.selectTab(actionBar.getSelectedTab());
              }
        });

列表片段

MySimpleArrayAdapter myadapter = new MySimpleArrayAdapter(this.getActivity(),AList);

       setListAdapter(myadapter);

       ListView listView = getListView();


       listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

【问题讨论】:

    标签: android android-fragments tabs


    【解决方案1】:

    检查this。您可以将 LocalBroadcastManager 侦听器注册到您想要的片段,然后从 MainActivity 当从导航抽屉中选择一个项目时,您将向您的片段发送一条消息,以便它可以刷新它的竞争

    【讨论】:

      猜你喜欢
      • 2020-10-06
      • 2021-01-04
      • 2014-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多