android - 如何在TabLayout android上的 Activity 中获取选项卡单击事件

标签 android

这是我的 Activity 中 onCreate 方法的实现。我需要动态创建选项卡。为简单起见,我制作了 2 个标签。

public class ActivityProductList extends AppCompatActivity {

    private android.support.v7.widget.SearchView searchView = null;
    private RecyclerView recyclerView;
    MyAdapter adapter;
    List<ParentListItem> parentListItems = new ArrayList<>();
    List<ParentListItem> originalProductList = new ArrayList<>();
    String query = null;
    int categoryId = 0;

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

        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        getSupportActionBar().setTitle("PRODUCTS");
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);

        //ViewPager viewPager = (ViewPager) findViewById(R.id.pager);

        TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
        tabLayout.addTab(tabLayout.newTab().setText("Tab 1"));
        tabLayout.addTab(tabLayout.newTab().setText("Tab 2"));
        //setupViewPager(viewPager);
        //tabLayout.setupWithViewPager(viewPager);
        //viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));

        searchView = (android.support.v7.widget.SearchView) findViewById(R.id.searchView);
        searchView.setIconified(false);
        searchView.onActionViewExpanded();
        searchView.clearFocus();
        searchView.setOnQueryTextListener(new android.support.v7.widget.SearchView.OnQueryTextListener() {
            @Override
            public boolean onQueryTextSubmit(String query) {
                if (adapter != null)
                    filterData(query);
                return false;
            }

            @Override
            public boolean onQueryTextChange(String query) {
                if (adapter != null)
                    filterData(query);
                return false;
            }
        });

    }
}

我想在单击选项卡时更改 EditText 值。 EditText 在同一 Activity 中。

如何获取Activity中的Tab点击事件?

最佳答案

您可以使用 onTabSelected 监听器来实现这一点。

tabLayout.addOnTabSelectedListener(new OnTabSelectedListener() {
        @Override
        public void onTabSelected(Tab tab) {
             switch(tab.getPosition()) {
                 case 0:
                  ....
             }
        }

附言setOnTabSelectedListener 已弃用,请改用 addOnTabSelectedListener

关于android - 如何在TabLayout android上的 Activity 中获取选项卡单击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37235125/

相关文章:

Android fragment 状态在 onCreateView 方法和 onActivityCreated 方法中始终为 null

Android如何获取Ibeacon X轴正负值?

java - GCM在Android中的实现

java - 在android中使用默认语言格式化字符串

android - 如何将项目与 Gradle 文件同步?

android - 如何有意地在 whatsapp 中打开与特定号码的对话

android - 处理 Android 库的 ant 构建的正确方法。构建从 jar 文件中排除 R.class

安卓编程: I cant get data to reload into arrayadapter

java - 触摸 3D 对象 ArToolKitJpctBaseLib

Android — 如何跟踪进程的带宽使用情况?