Android自动化实现点击自定义ListAdapter类控件

robotium的solo类提供了solo.clickInList方法去点击listview中的某一行,但却没有方法去点击AdapterView类控件,那么怎么办呢?

方法其实非常简单,就是调用view的setSelection和requestFocus方法就可以了,那么这里以Instrumentation框架为例

/**
**传入一个AdapterView对象,我这里传入了子类
**以及列表号
**/
class ClickAdapter implements Runnable {

    HorizontalListView v;
    int ind;

    public ClickAdapter(HorizontalListView v,int ind){
        this.v = v;
        this.ind = ind;
    }

    @Override
    public void run() {
        v.setSelection(ind);
        v.requestFocus();
        v.performClick();
    }
}

那么上面定义的是一个Runnable接口实现类,用法下面这样:

getInstrumentation().runOnMainSync(new ClickAdapter(mHorizontalListView,0));

得到Instrumentation对象,调用runOnMainSync扔到主线程去执行,传入我定义的runnable对象,0表示我要点击的自定义Adapter里面的序号。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值