这是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中获取Tab单击事件?
8条答案
按热度按时间cgfeq70w1#
您可以使用
onTabSelected
侦听器来实现这一点。注:
setOnTabSelectedListener
已弃用,请改用addOnTabSelectedListener
。3pmvbmvn2#
您可以像这样在Kotlin中使用onTabSelected侦听器
sz81bmfz3#
如果你想要的是当一个选项卡被点击,而不是每次一个选项卡被选中,你可以使用自定义视图为每个选项卡,然后处理点击各自的视图,像这样:
3df52oht4#
在Java中,
scyqe7ek5#
正如@dgngulcan所提到的,onTabSelected也将作为滑动的结果而被调用,而不仅仅是点击标签。
我们可以直接使用选项卡中的视图作为参数
在这里,我将选项卡与视图分页器结合在一起,并添加了一个单击侦听器,如果单击它,它将调用某个函数
dddzy1tm6#
以下是Shashank Udupa的答案的
Xamarin.Android
/C#
端口,对我有效:首先,您应该实现
IOnTabSelectedListener
接口,如下所示:然后像这样使用上面的类:
qqrboqgw7#
这能帮助一些人
我之所以不使用
onTouch
来点击切换普通标签,是因为它会破坏TabLayout的幻灯片动画,所以我仍然使用clickable = true
bq3bfh9z8#