Java 如何创建动态底部导航栏或底部导航栏

Java 如何创建动态底部导航栏或底部导航栏,java,android,Java,Android,我在这个活动中创建了一个活动,有一个特定的选项卡,我只想以编程方式创建这些底部栏,以插入类似这样的数据 gridArray.add(new Item(homeIcon, rs.getString("Name"), OpenIn, rs.getString("Covers"), rs.getString("Count_Checks"))); 这是我的TabsActivity我只想在这个活动中添加这个底部导航 package abtech.waiteriano.com.waitrer; impo

我在这个活动中创建了一个活动,有一个特定的选项卡,我只想以编程方式创建这些底部栏,以插入类似这样的数据

gridArray.add(new Item(homeIcon, rs.getString("Name"), OpenIn, rs.getString("Covers"), rs.getString("Count_Checks")));
这是我的TabsActivity我只想在这个活动中添加这个底部导航

package abtech.waiteriano.com.waitrer;

import android.os.Bundle;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;

import java.util.ArrayList;
import java.util.List;

import abtech.waiteriano.com.waitrer.fragments.TablesFragment;

public class TabsActivity extends AppCompatActivity {

    private Toolbar toolbar;
    private TabLayout tabLayout;
    private ViewPager viewPager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_tabs);
        toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);


        viewPager = (ViewPager) findViewById(R.id.viewpager);

        /**
         * Initializing the viewpager with fragments
         */
        ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());


        adapter.addFragment(new TablesFragment(), "Progress");
        adapter.addFragment(MyFragment.newInstance("Example1"), "Example1");
        adapter.addFragment(MyFragment.newInstance("Example2"), "Example2");
        adapter.addFragment(MyFragment.newInstance("Example3"), "Example3");

        viewPager.setAdapter(adapter);

        tabLayout = (TabLayout) findViewById(R.id.tabs);

        //adding viewpager to the tablayout
        tabLayout.setupWithViewPager(viewPager);
        tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE);
    }
    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);
        }
    }
}
package abtech.waiteriano.com.waiter;
导入android.os.Bundle;
导入android.support.design.widget.TabLayout;
导入android.support.v4.app.Fragment;
导入android.support.v4.app.FragmentManager;
导入android.support.v4.app.FragmentPagerAdapter;
导入android.support.v4.view.ViewPager;
导入android.support.v7.app.AppActivity;
导入android.support.v7.widget.Toolbar;
导入java.util.ArrayList;
导入java.util.List;
导入abtech.waiteriano.com.waiter.fragments.TablesFragment;
公共类选项卡活动扩展了AppCompatActivity{
专用工具栏;
私人摊位摊位;
私人视页机视页机;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_选项卡);
toolbar=(toolbar)findviewbyd(R.id.toolbar);
设置支持操作栏(工具栏);
viewPager=(viewPager)findViewById(R.id.viewPager);
/**
*使用片段初始化viewpager
*/
ViewPagerAdapter适配器=新的ViewPagerAdapter(getSupportFragmentManager());
addFragment(新的tableFragment(),“Progress”);
addFragment(MyFragment.newInstance(“Example1”),“Example1”);
addFragment(MyFragment.newInstance(“Example2”),“Example2”);
addFragment(MyFragment.newInstance(“Example3”),“Example3”);
viewPager.setAdapter(适配器);
tabLayout=(tabLayout)findViewById(R.id.tabs);
//将viewpager添加到表格布局
tabLayout.setupWithViewPager(viewPager);
tabLayout.setTabMode(tabLayout.MODE可滚动);
}
类ViewPagerAdapter扩展了FragmentPagerAdapter{
私有最终列表MFFragmentList=new ArrayList();
私有最终列表MFFragmentTitleList=new ArrayList();
公共视图页面编辑器(碎片管理器){
高级经理;
}
@凌驾
公共片段getItem(int位置){
返回MFFragmentList.get(位置);
}
@凌驾
public int getCount(){
返回MFFragmentList.size();
}
public void addFragment(片段片段,字符串标题){
添加(片段);
MFFragmentTitleList.add(标题);
}
@凌驾
公共字符序列getPageTitle(int位置){
返回MFFragmentTitleList.get(位置);
}
}
}

您可以使用最近添加的支持库中提供的官方google BottomNavigationView类。只需在app build.gradle文件中添加以下依赖项即可

compile ‘com.android.support:design:25.0.0’

您可以找到文档

是的,我知道,但我需要添加java代码不使用菜单的项,是吗?我没有尝试过,但我建议您通过调用
getMenu()来检索菜单对象
并通过向该对象添加菜单来更新菜单。希望如此works@7arooney您是否尝试过动态添加菜单项?