[解決済み] Espressoを使用してRecyclerViewアイテム内のビューをクリックする
2022-09-15 06:04:32
質問
Espresso を使って、特定のビューをクリックする方法を教えてください。 RecyclerView の中で特定のビューをクリックするにはどうすればよいのでしょうか?私は私が使用して位置0にアイテムをクリックすることができることを知っています。
onView(withId(R.id.recyclerView))
.perform(RecyclerViewActions.actionOnItemAtPosition(0, click()));
しかし、私はアイテム自体ではなく、そのアイテム内の特定のビューをクリックする必要があります。
事前にありがとうございます。
-- 編集 --
もっと正確に言うと 私の場合は
RecyclerView
(
R.id.recycler_view
) はどの項目が
カードビュー
(
R.id.card_view
). それぞれの内部に
カードビュー
4つのボタンがあり(中略)、特定のボタンをクリックしたい(
R.id.bt_deliver
).
Espresso 2.0の新機能を使いたいのですが、可能でしょうか?
もし不可能なら、こんなものを使いたい(Thomas Kellerのコードを使って)。
onRecyclerItemView(R.id.card_view, ???, withId(R.id.bt_deliver)).perform(click());
とありますが、クエスチョンマークに何をつければいいのかわかりません。
どのように解決するのですか?
ビューをカスタマイズするアクションを使用することができます。
public class MyViewAction {
public static ViewAction clickChildViewWithId(final int id) {
return new ViewAction() {
@Override
public Matcher<View> getConstraints() {
return null;
}
@Override
public String getDescription() {
return "Click on a child view with specified id.";
}
@Override
public void perform(UiController uiController, View view) {
View v = view.findViewById(id);
v.performClick();
}
};
}
}
そして、それをクリックすることで
onView(withId(R.id.rv_conference_list)).perform(
RecyclerViewActions.actionOnItemAtPosition(0, MyViewAction.clickChildViewWithId(R.id. bt_deliver)));
関連
-
[解決済み] SDカードからファイルを削除する方法を教えてください。
-
[解決済み] BottomSheetDialogFragmentの状態をexpandedに設定する。
-
[解決済み] handler.postDelayed()を停止する。
-
[解決済み] Androidでマイナスマージンを使用するのは悪いことですか?
-
[解決済み] AsyncTaskを複数回実行する
-
[解決済み] APKが署名済みかデバッグビルドかを確認するには?
-
[解決済み] EditTextの右側のDrawableにonClickListenerを設定する [重複] [重複
-
[解決済み] Androidでツールバーの戻るボタンの色を変えるには?
-
[解決済み] google-services.jsonって実際何してるの?
-
[解決済み] 実行に失敗しました app:processDebugResources Android Studio
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Nexus 4でUSBデバッグモードを見つける方法とオンにする方法
-
[解決済み] アンドロイドフラグメント onRestoreInstanceState
-
[解決済み] CardView layout_width="match_parent "が親のRecyclerViewの幅と一致しない。
-
[解決済み] Android ConstraintLayout - あるビューを別のビューの上に配置する
-
[解決済み] これはどういうことですか?失敗 [INSTALL_FAILED_CONTAINER_ERROR]?
-
[解決済み] AsyncTaskを複数回実行する
-
[解決済み] Android端末がHDPI画面かMDPI画面かを確認する方法は?
-
[解決済み] proguard hell - 参照されているクラスが見つかりません。
-
[解決済み] Androidの環境設定。ユーザーが環境設定画面を使用していない場合、デフォルト値を読み込むにはどうすればよいですか?
-
[解決済み] Android: xml リソースからの整数値