葫芦Android的循环通过一个ListView检查(Calabash Android Loopin

2019-10-23 14:04发布

我刚开始使用Calabash和所遇到的列表视图。

对于每个列表视图行我要检查一些文字和图像视图的存在。

但是我不能确定我怎么能遍历列表视图?

就像是

foreach list_item in listview
   check text label with id
   check image view with id
end

任何帮助,将不胜感激。

Answer 1:

我不知道在这种情况下使用的foreach,但你可以根据列表中的索引号做。 类似项目的获取计数,然后通过他们的循环移动使用的两种选择

getListView().setSelection(21);

对于平滑滚动:

getListView().smoothScrollToPosition(21);

从这个帖子https://stackoverflow.com/a/7561660/1165581通过HandlerExploit

然后对每个项目检查图像和文字。



Answer 2:

@ userMod2检查下面的解决方案 -

  • 解决方法1

当您使用

myList.getAdapter()。getView(I,NULL,NULL)

你所得到的项目视图的新实例,请尝试

ListView.getChildAt(位置)

方法是这样

 private void ButtonClick() {
    /** get all values of the EditText-Fields */
    View v;
    ArrayList<String> mannschaftsnamen = new ArrayList<String>();
    EditText et;
    for (int i = 0; i < myList.getCount(); i++) {
      v = myList.getAdapter().getView(i, null, null);
      et = (EditText) v.findViewById(i);
      mannschaftsnamen.add(et.getText().toString());
    }
    // Add your action code here
    // Add your action code here
 }
  • 解决方案2

     public void onScroll(AbsListView v, int firstVisibleItem, int visibleCount, int totalItemCount) { ListView lv = this.getListView(); int childCount = lv.getChildCount(); for (int i = 0; i < childCount; i++) { View v = lv.getChildAt(i); TextView tx = (TextView) v.findViewById(R.id.mytext); tx.setTextSize(textSize); } } 


Answer 3:

我在我的项目中使用这个和它的作品希望它可以帮助你。

在您的情况:

然后,我用滚动“XYZ”标签,然后用它把文本

声明该步骤如下:

Then /^I scroll to text with "([^\"]*)" label and touch it$/ do |name|
element="TextView text:'#{name}'"      
    if !element_exists(element)
            wait_poll(timeout: 20,
            timeout_message: 'Unable to find "Example"', :until_exists => "TextView text:'#{name}'") do
            scroll_down
     end
     if element_exists(element)
            touch element 
            sleep(10)
     else
            screenshot_and_raise "could not find the cell"
     end
     else
            touch element
            sleep(10)
     end    
end


文章来源: Calabash Android Looping through a ListView to check