2013-03-18 101 views
0

我在我的活動中有一個ListView。當我點擊ListView中的一個項目時,我調用了一個intent並開始一個新的Activity。我建立了我的測試用例,並獲得了ListView的參考。我現在如何模擬用戶點擊ListView行?下面是我爲我的測試案例的代碼,正確地傳遞Android儀器ListView點擊

@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來測試您的Activity的UI。 – dmon 2013-03-18 21:27:30

回答

3

您需要OnItemClickListener

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

編輯:

以編程方式點擊,使用以下命令:

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

我認爲OP希望以編程方式點擊ListView的一個項目。 – 2013-03-18 17:00:08

+0

是的,我想模擬用戶點擊ListView中的各種行。 – user1730789 2013-03-18 17:01:18

+0

對不起,請參閱我的編輯。通過listView,你想要點擊的位置,如果需要的話。 – 2013-03-18 17:03:17

0

還有更詳細的代碼她e: Activity Testing和SpinnerTest示例應用程序。