2012年1月3日火曜日

ActivityInstrumentationTestCase2 GridView ClickItem

GridViewに設定するonClickItemListener() API と、
GridView上に設置したImageViewのonClickListener() APIは、
両方設定されて場合でも、どちらかだけしか有効にならないと思います。
今回は、GridViewのonClickItemListener()のテストをします。
テストは、ActivityInstrumentationTestCase2クラスを使用します。

最初に、テストされる側のActivityを説明します。GridViewを使用して、
SDCardのビデオクリップを表示する部分は、前に説明しているので
そちらを参照してください。

OnItemClickListenerをGridViewに設定します。
OnItemClickListenerは、positionの情報が含まれます。

mGridView.setOnItemClickListener(new OnItemClickListener() {
 @Override
 public void onItemClick(AdapterView arg0, View arg1, int position,
   long id) {
  Log.d("GridViewActivity", "onItemClick " + position + " " + id);
  
 }
});

次に、テストする側のコードを説明します。ActivityInstrumentationTestCase2を使用します。
positionを指定して、performItemClick()をUIThreadからコールします。

GridView and postion. must be UIThread
mActivity.runOnUiThread(new Runnable() {
 public void run() {
  
  Log.d("GridViewActivity", "performItemClick 3");
  gridview.performItemClick(gridview, 3, 0);
  
  
 }
});
mInstrumentation.waitForIdleSync();

Logcatを使用して、テストする側からpoerformItemClick()をコールして、OnItemClick()がコールされていることを確認します。.
performItemClick 3
onItemClick 3 0
   テストされる側のソースコードです。.
  テストする側のソースコードです。.

0 件のコメント:

コメントを投稿