美文网首页
robotium选择定制的listview的item

robotium选择定制的listview的item

作者: Ming_a221 | 来源:发表于2018-09-28 11:15 被阅读0次
列表
/**
     * 选择促销活动
     *
     * @param name 活动名称
     */
    @TargetApi(Build.VERSION_CODES.KITKAT)
    public SalesActivityBean selectActivityByName(String name) {
        solo.scrollListToTop(1);
        final int scrollCount = 3;
        ListView listView = (ListView) solo.getView(ID.LV_SALES_PROMOTION);
        View item0 = listView.getChildAt(0);
        int[] location0 = new int[2];
        item0.getLocationOnScreen(location0);
        View item2 = listView.getChildAt(2);
        int[] location2 = new int[2];
        item2.getLocationOnScreen(location2);
        final int hight = location2[1] - location0[1];//一组活动的高度
        int[] locationl = new int[2];
        listView.getLocationOnScreen(locationl);
        int lh = listView.getHeight();
        int listY = locationl[1] + lh;
        int totalCount = listView.getCount();
        int totalPage = totalCount / scrollCount + 1;
        int page = 1;

        SalesActivityBean reSalesActivityBean = null;
        String actName = "";
        boolean is_find = false;
        for (int i = 0; i < totalPage; i++) {
            int pageCount = listView.getChildCount();
            for (int j = 0; j < pageCount; j++) {
                LinearLayout item = (LinearLayout) listView.getChildAt(j);
                View view = item.getChildAt(0);
                if (view instanceof FrameLayout) {
                    SalesActivityBean salesActivityBean = new SalesActivityBean();
                    salesActivityBean.setTitile(actName);
                    salesActivityBean.setPage(page);
                    salesActivityBean.setIndex(j);
                    FrameLayout frameLayout = (FrameLayout) item.getChildAt(0);
                    RelativeLayout relativeLayout = (RelativeLayout) frameLayout.getChildAt(0);
                    TextView textView = (TextView) relativeLayout.getChildAt(2);//折让
                    String t = textView.getText().toString();
                    String tt;
                    if (t.contains("折")) {
                        int index1 = t.indexOf("折");
                        tt = t.substring(0, index1);
                    } else {
                        int index2 = t.indexOf("¥");
                        tt = t.substring(index2 + 1) + ".0";
                    }
                    salesActivityBean.setDiscout(tt);
                    LinearLayout linearLayout = (LinearLayout) relativeLayout.getChildAt(3);
                    TextView textView1 = (TextView) linearLayout.getChildAt(0);
                    salesActivityBean.setRule(fastFoodHelper.getDigit(textView1.getText().toString()));
                    TextView textView2 = (TextView) linearLayout.getChildAt(1);
                    salesActivityBean.setRange(textView2.getText().toString());
                    salesActivityBean.setView(item);
                    if (salesActivityBean.getTitile().contentEquals(name)) {
                        int[] l = new int[2];
                        item.getLocationOnScreen(l);
                        int h = item.getHeight();
                        int clickp = l[1] + h / 2 + 1;
                        if (clickp < listY) {
                            solo.clickOnView(item);
                            reSalesActivityBean = salesActivityBean;
                            is_find = true;
                            break;
                        }

                    }

                } else {
                    TextView textView = (TextView) item.getChildAt(0);
                    actName = textView.getText().toString().trim();
                }
            }
            if (is_find) {
                break;
            }
            solo.scrollListY(listView, hight * scrollCount);
            actName = "";
            listView = (ListView) solo.getView(ID.LV_SALES_PROMOTION);
            page++;
        }
        return reSalesActivityBean;
    }

相关文章

网友评论

      本文标题:robotium选择定制的listview的item

      本文链接:https://www.haomeiwen.com/subject/fnwuoftx.html