我有一个 ArrayList,XML 中只有一个选项卡,我使用 name.addTab() 在 java 类中添加选项卡...但是我需要知道如果单击其他选项卡如何更改我的图像和 ListView ,就像当我单击选项卡时更改同一 fragment 中的内容...
final String[] hotWaterReadList = {"28 / 02 / 2020","28 / 01 / 2020","28 / 12 / 2019","28 / 11 / 2019","28 / 10 / 2019","28 / 09 / 2019","28 / 08 / 2019","28 / 07 / 2019","28 / 06 / 2019","28 / 05 / 2019","28 / 04 / 2019",
"28 / 03 / 2019","28 / 02 / 2019","28 / 01 / 2019"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item_1,hotWaterReadList){
@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
if (convertView == null){
LayoutInflater inflater = (LayoutInflater) getActivity().getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.hotwater_item, parent,false);
}
TextView hotItemText = (TextView) convertView.findViewById(R.id.item_hotWater);
ImageView imageHotWater = (ImageView) convertView.findViewById(R.id.iconhot);
hotItemText.setText(hotWaterReadList[position]);
imageHotWater.setImageResource(R.drawable.ic_agua_caliente);
return convertView;
}
};
tabsReads.addTab(tabsReads.newTab().setText("Agua fría"));
tabsReads.addTab(tabsReads.newTab().setText("Agua caliente"));
hotWaterList.setAdapter(adapter);
问题是我在选项卡中没有 id,因为不是来自 xml...也许是 if?或切换?请帮助我,谢谢
最佳答案
- 添加任意数量的标签
然后你只需要添加一个 onTabSelectedListner 例如
tabsReads.addOnTabSelectedListener (new TabLayout.OnTabSelectedListener() {
@Override public void onTabSelected(TabLayout.Tab tab) { } @Override public void onTabUnselected(TabLayout.Tab tab) { } @Override public void onTabReselected(TabLayout.Tab tab) { } });
现在,每次选择一个选项卡时,您只需更改 onTabSelected 内 ListView 的内容,您可以传递一个新的字符串数组作为数据集或 您只需在该 ListView 上设置一个包含新数据的新适配器即可。
关于java - 在 java 的选项卡中添加 onItemSelected,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60735258/