Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使用Robotium测试AutoCompleteTextView ItemClick事件_Android_Robotium - Fatal编程技术网

Android 如何使用Robotium测试AutoCompleteTextView ItemClick事件

Android 如何使用Robotium测试AutoCompleteTextView ItemClick事件,android,robotium,Android,Robotium,我有以下robotium测试用例示例 public class MyActivityTest extends ActivityInstrumentationTestCase2<MyActivity> { private static Class launcherActivityClass ; private Solo solo; public MyActivityTest() { super(launcherActivityClass); } public void

我有以下robotium测试用例示例

public class MyActivityTest extends ActivityInstrumentationTestCase2<MyActivity> {
private static Class launcherActivityClass ;    
private Solo solo;
public MyActivityTest() {
    super(launcherActivityClass);
}
public void setUp() throws Exception {
    super.setUp();
    solo=new Solo(getInstrumentation(),getActivity());
}
 public void test() throws InterruptedException {
    solo.enterText(0,"Hel");
    solo.goBack();
    solo.sendKey(solo.DOWN);
    solo.enterText(0,"Hello, Android - Ed Burnette");

    Thread.sleep(5000);
 }
}
公共类MyActivityTest扩展了ActivityInstrumentationTestCase2{
私有静态类启动器ActivityClass;
私人独奏;
公共MyActivityTest(){
超级(活动类);
}
public void setUp()引发异常{
super.setUp();
solo=新的solo(getInstrumentation(),getActivity());
}
public void test()引发InterruptedException{
单独输入文本(0,“Hel”);
solo.goBack();
solo.sendKey(solo.DOWN);
enterText(0,“你好,Android-Ed Burnette”);
睡眠(5000);
}
}
这是被测对象的样本

public class MyActivity extends Activity {
AutoCompleteTextView acTextView;
/**
 * Called when the activity is first created.
 */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    new AsyncTask(this,acTextView).execute("");
    acTextView = (AutoCompleteTextView)findViewById(R.id.androidbooks);

    acTextView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
            Log.i("Auto Test", adapterView.getAdapter().getItem(i).toString());

        }
    });

private class AsyncTask extends android.os.AsyncTask<String, String, String[]> {

    public AsyncTask(Context ctxt, AutoCompleteTextView fdtv) {

    }
    @Override
    protected String[] doInBackground(String... strings) {
        return new String[0];
    }

    @Override
    protected void onPostExecute(String[] strings) {
        String[] androidBooks =
                {
                        "Hello, Android - Ed Burnette",
                        "Professional Android 2 App Dev - Reto Meier",
                        "Unlocking Android - Frank Ableson",
                        "Android App Development - Blake Meike",
                        "Pro Android 2 - Dave MacLean",
                        "Beginning Android 2 - Mark Murphy",
                        "Android Programming Tutorials - Mark Murphy",
                        "Android Wireless App Development - Lauren Darcey",
                        "Pro Android Games - Vladimir Silva",
                        "Hello, Android - Ed Burnette",
                        "Professional Android 2 App Dev - Reto Meier",
                        "Unlocking Android - Frank Ableson",
                        "Android App Development - Blake Meike",
                        "Pro Android 2 - Dave MacLean",
                        "Beginning Android 2 - Mark Murphy",
                        "Android Programming Tutorials - Mark Murphy",
                        "Android Wireless App Development - Lauren Darcey",
                        "Pro Android Games - Vladimir Silva",

                };
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(MyActivity.this,android.R.layout.simple_dropdown_item_1line,androidBooks);
        acTextView = (AutoCompleteTextView)findViewById(R.id.androidbooks);
        acTextView.setThreshold(3);
        acTextView.setAdapter(adapter);
    }
}
}
公共类MyActivity扩展活动{
自动完成文本视图acTextView;
/**
*在首次创建活动时调用。
*/
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
新建异步任务(this,acTextView).execute(“”);
acTextView=(AutoCompleteTextView)findViewById(R.id.androidbooks);
acTextView.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
公共无效onItemClick(AdapterView AdapterView、View视图、int i、long l){
Log.i(“自动测试”,adapterView.getAdapter().getItem(i.toString());
}
});
私有类AsyncTask扩展了android.os.AsyncTask{
公共异步任务(上下文ctxt、自动完成TEXTVIEW fdtv){
}
@凌驾
受保护的字符串[]doInBackground(字符串…字符串){
返回新字符串[0];
}
@凌驾
受保护的void onPostExecute(字符串[]字符串){
字符串[]androidBooks=
{
“你好,安卓-Ed Burnette”,
“专业安卓2应用开发-Reto Meier”,
“解锁Android-弗兰克·艾布森”,
“Android应用程序开发-Blake Meike”,
“Pro Android 2-戴夫·麦克莱恩”,
“开始安卓2-马克·墨菲”,
“Android编程教程-马克·墨菲”,
“安卓无线应用开发-劳伦·达西”,
“亲安卓游戏-弗拉基米尔·席尔瓦”,
“你好,安卓-Ed Burnette”,
“专业安卓2应用开发-Reto Meier”,
“解锁Android-弗兰克·艾布森”,
“Android应用程序开发-Blake Meike”,
“Pro Android 2-戴夫·麦克莱恩”,
“开始安卓2-马克·墨菲”,
“Android编程教程-马克·墨菲”,
“安卓无线应用开发-劳伦·达西”,
“亲安卓游戏-弗拉基米尔·席尔瓦”,
};
ArrayAdapter=新的ArrayAdapter(MyActivity.this,android.R.layout.simple\u dropdown\u item\u 1line,androidBooks);
acTextView=(AutoCompleteTextView)findViewById(R.id.androidbooks);
acTextView.setThreshold(3);
setAdapter(适配器);
}
}
}
当我运行测试时,AutoCompleteTextView会显示列表,文本中会填充数据,但我无法捕获textview的onItemClick事件

在robotium我怎么做

谢谢

// Enter the first few characters of the book.
solo.enterText(0,"Hello, Andr");

// Wait for the book name to appear, then click on it.
solo.waitForText("Hello, Android - Ed Burnette");
solo.clickOnText("Hello, Android - Ed Burnette");