通过单击按钮在选项卡控件中的选项卡上向后循环

问题描述

以下是我用来循环浏览选项卡的一个方向的代码

 Container(
         height: 200,width: 200,//  constraints:
          //   BoxConstraints(
          //    maxHeight:550
          //  ),child:  Swiper(
        scrollDirection: Axis.horizontal,itemBuilder: (BuildContext context,int index) {
          Map product=realSwiperData[index];
          return InkWell(
      onTap: () {
         print('/collections/${product['link']}');
      },child:  CachednetworkImage(
            imageUrl:imageHost+product['href'],fit: BoxFit.fill,placeholder: (context,url) => Center(child: CircularProgressIndicator()),errorWidget: (context,url,error) => Center(child: Icon(Icons.error)),)
     
      );
        },itemCount:  realSwiperData?.length,//pagination: new SwiperPagination(),autoplay: realSwiperData.length>1,viewportFraction:1,// 当前视窗展示比例 小于1可见上一个和下一个视窗
        scale: 1,),

问题:

如何更改此代码以使其向后(或从右到左)循环而不是从左到右?我尝试将 private void button2_Click(object sender,EventArgs e) { projInfo.Selectedindex = (projInfo.Selectedindex + 1) % projInfo.TabCount; } 更改为+1,但是没有运气。

解决方法

+1更改为-1是正确的方向。当当前选定的索引为0而下一个索引为tabCount-1时,您只需要处理一个特殊情况。

private void button2_Click(object sender,EventArgs e)
{
    var newIndex = projInfo.SelectedIndex - 1;
    if (newIndex < 0) newIndex = projInfo.TabCount - 1;
    projInfo.SelectedIndex = newIndex;
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...