0
嗨我有一個應用程序,使用Recycler視圖來顯示一堆項目。現在我想在列表上運行一個android測試,但我不知道如何設置一個給定項目的程序化點擊。任何人都可以告訴我如何實現這一目標?如何在RecyclerView中執行程序化點擊項目?
嗨我有一個應用程序,使用Recycler視圖來顯示一堆項目。現在我想在列表上運行一個android測試,但我不知道如何設置一個給定項目的程序化點擊。任何人都可以告訴我如何實現這一目標?如何在RecyclerView中執行程序化點擊項目?
你必須從頭開始實施它。 RecyclerView缺乏ListView默認提供的一些非常棒的功能。鑑於此,在適配器中,您必須爲Fragment/Activity和RecyclerView之間的Observer聲明一個接口。
附加此單擊事件的正確方法是onBindViewHolder
。然後在適配器中保留對CustomListener
或View.OnClickListener的引用。
這裏是如何做到這一點一個簡單的例子:
@Override
public void onBindViewHolder(SearchListAdapter.ViewHolder holder, final int position) {
//Item clicked
holder.mParent.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Select or deselect
mListener.notify(holder, position);
}
});
}
而且ViewHolder應該是這樣的:
public class ViewHolder extends RecyclerView.ViewHolder {
private View mParent;
public ViewHolder(View itemView) {
super(itemView);
mParent = itemView;
}
}
哪裏mParent
是當前行查看。
它是一個View對象。如果我沒有誤解你的問題,我想你可以使用'performClick()' – Blackbelt