Java 将数据/对象附着到选项卡式布局中的选项卡

Java 将数据/对象附着到选项卡式布局中的选项卡,java,android,android-tablayout,Java,Android,Android Tablayout,我创建了一个选项卡布局,为列表中的每个医生对象创建一个选项卡。目前,我正在将选项卡标题设置为医生姓名,但当选择选项卡时,我希望获取相应医生的id。我可以从列表中的位置得到这个,但我希望有一个更干净的解决方案。是否有任何方法可以在创建时将一个对象,甚至只是一个id附加到选项卡上,以便在启动侦听器时可以直接从所选选项卡访问它 tabLayout.addTab(tabLayout.newTab().setText("All")); for(Doctors doctor: list) { Tab

我创建了一个选项卡布局,为列表中的每个医生对象创建一个选项卡。目前,我正在将选项卡标题设置为医生姓名,但当选择选项卡时,我希望获取相应医生的id。我可以从列表中的位置得到这个,但我希望有一个更干净的解决方案。是否有任何方法可以在创建时将一个对象,甚至只是一个id附加到选项卡上,以便在启动侦听器时可以直接从所选选项卡访问它

tabLayout.addTab(tabLayout.newTab().setText("All"));
for(Doctors doctor: list)
{
    TabLayout.Tab tempTab = tabLayout.newTab().setText(doctor.getName());
    tempTab.setIcon(R.drawable.john_smith_photo);

    //here i would like to put doctor.getId() into my tab
    tabLayout.addTab(tempTab);
}

您是否尝试过使用
setTag()
方法?看见您可以在扩展视图的任何类中使用它,并且可以使用它存储数据。要检索数据,可以使用
getTag()
。也适用于

标记还可用于在视图中存储数据,而无需求助于其他数据结构

简单到:

tempTab.setTag(doctor.getId());

谢谢你的解决方案。我认为这可能会起作用,但我在文档中将对象视为参数。我想这意味着你可以在里面放任何东西,甚至是医生的东西,对吗?我想是的!!:)