2013-03-18 1 views
0

У меня есть ListView в моей деятельности. Когда я нажимаю на элемент в ListView, я вызываю намерение и запускаю новое действие. Я установил свои тестовые примеры и получил ссылку для своего ListView. Как теперь я могу имитировать пользователя, нажимая на строку ListView? Ниже мой код для моего теста, который проходит правильноОборудование для Android ListView click

@SmallTest 
    public void testAdapter(){ 
     childActivity=startActivity(mStartIntent, null, null); 
     TextView t2=(TextView) childActivity.findViewById(R.id.text2); 
     secondListView=(ListView)childActivity.findViewById(R.id.myListView); 
     assertNotNull(secondListView); 
     getInstrumentation().callActivityOnCreate(childActivity, null); 
     getInstrumentation().callActivityOnResume(childActivity); 
     assertEquals(t2.getText(), text); 
     final ArrayAdapter<String> testAdapter=(ArrayAdapter<String>) secondListView.getAdapter(); 
     assertFalse(testAdapter.isEmpty()); 


    } 
+0

Рассмотрите возможность использования Robotium для тестирования пользовательского интерфейса вашей деятельности. – dmon

ответ

3

Вам нужен OnItemClickListener:

secondListView.setOnItemClickListener(new OnItemClickListener() 
      { 
       @Override 
       public void onItemClick(AdapterView<?> parent, View searchListV, int position, long id) 
       { 
        //Do stuff here 
       } 
      }); 

Edit:

Чтобы программно нажмите, используйте следующую команду:

secondListView.performItemClick(view, position, id); 
+0

Я думаю, что OP хочет программно нажать на элемент ListView. –

+0

Да, я хочу, чтобы имитировать пользователя, нажимающего на различные строки в ListView. – user1730789

+0

Извините, см. Мое редактирование. Перейдите в listView, должность, которую вы хотите щелкнуть, и идентификатор, если требуется. –

0

Есть более подробный код ее e: Activity Testing и пример приложения SpinnerTest.