java - 在 java 的选项卡中添加 onItemSelected

标签 java android

我有一个 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?或切换?请帮助我,谢谢

最佳答案

  1. 添加任意数量的标签
  2. 然后你只需要添加一个 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) {
    
        }
    });
    
  3. 现在,每次选择一个选项卡时,您只需更改 onTabSelected 内 ListView 的内容,您可以传递一个新的字符串数组作为数据集或 您只需在该 ListView 上设置一个包含新数据的新适配器即可。

关于java - 在 java 的选项卡中添加 onItemSelected,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60735258/

相关文章:

java - 是否可以将 glassfish 与 cloudbees 一起使用?

java - 找到最长的公共(public)前缀?

java - 为什么我会收到此 SQLServerException : "The result set has no current row"

android - Viewpager 没有得到最后一项

android - 当我必须使用 Intent 时,什么是 createChooser?我可以用这种方法做什么?

android:fitsSystemWindows 不工作

android - 获取正确大小的 android 状态栏并将其应用于 HTML?

java - 来自外部存储的 Uri 上的 MediaPlayer 为 null