java - OnClickListener 适用于 ArrayList 中的最后一个元素

标签 java android android-studio

正在使用的库 SwipCards

我有一个 ArrayList,它循环遍历许多卡片,就像一副卡片一样移动(类似于 Tinder 的 UI),我决定添加一个 onclicklistener,以便应用到卡片的样式将在单击时更改,它可以工作,但它只适用于 ArrayList 中的最后一张卡片。

flingContainer.setOnItemClickListener(new 
SwipeFlingAdapterView.OnItemClickListener(){
  @override
  public void onItemClicked(int itemPosition, Object dataObject) {
    if (findViewById(R.id.namecard).getVisibility() == (View.VISIBLE)){
     findViewById(R.id.namecard).setVisibility(View.INVISIBLE);
    }
    else if (findViewById(R.id.namecard).getVisibility() == (View.GONE)){
     findViewById(R.id.namecard).setVisibility(View.VISIBLE);
    }
    else if (findViewById(R.id.namecard).getVisibility() == (View.VISIBLE)){
     findViewById(R.id.namecard).setVisibility(View.VISIBLE);
    }
  }

}) 

有没有办法让样式效果应用于堆栈中的顶部卡( View 中的卡)而不是 Arraylist 中的底部卡(最后一张卡)?

我已经尝试过this solution,但即使我替换了某些方面以匹配我正在使用的库,它似乎也不起作用

最佳答案

对于使用此库的任何人并且您想要操作 View 中的卡片,解决方案是 getSelectedView()

flingContainer.setOnItemClickListener(new  SwipeFlingAdapterView.OnItemClickListener(){
@override
 public void onItemClicked(int itemPosition, Object dataObject) {

    View view = flingContainer.getSelcetedView();
    if (view.findViewById(R.id.namecard).getVisibility() == (View.VISIBLE)){
     view.findViewById(R.id.namecard).setVisibility(View.INVISIBLE);
    }
    else if (view.findViewById(R.id.namecard).getVisibility() == (View.GONE)){
      view.findViewById(R.id.namecard).setVisibility(View.VISIBLE);
    }
    else if (view.findViewById(R.id.namecard).getVisibility() == (View.VISIBLE)){
     view.findViewById(R.id.namecard).setVisibility(View.VISIBLE);
    }

    arrayAdapter.notifyDataSetChanged();
    }

    }) 

关于java - OnClickListener 适用于 ArrayList 中的最后一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57547663/

相关文章:

java - 如何配置JDK环境路径不是JRE?

android - Android 中的 onUpgrade() sqlite 数据库

Android - 如何在 android studio 中使用 FloatingLabel

android - 设备截图在 Android 调试监视器中不起作用

java - 我可以在 Spring JUnit 测试中使用 @Import 吗?

java - 将 HashMap 的键和值连接到列表

c# - 评论接口(interface)、实现还是两者兼而有之?

android - Android 中的 AwesomePlayer 是什么?

android - 用于 otg 电缆的 Intent

java - 屏蔽的 EditText 无法正常工作 android studio