2015-01-07 40 views
0

嗨我有一個應用程序,使用Recycler視圖來顯示一堆項目。現在我想在列表上運行一個android測試,但我不知道如何設置一個給定項目的程序化點擊。任何人都可以告訴我如何實現這一目標?如何在RecyclerView中執行程序化點擊項目?

+1

它是一個View對象。如果我沒有誤解你的問題,我想你可以使用'performClick()' – Blackbelt

回答

1

你必須從頭開始實施它。 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是當前行查看。

相關問題