簡體   English   中英

在Android中傳遞MainActivity作為參數RecyclerView Adapter

[英]Passing MainActivity as a parameter RecyclerView Adapter in android

我正在關注這個Android教程

https://github.com/udacity/ud851-Exercises/blob/student/Lesson03-Green-Recycler-View/T03.07-Solution-RecyclerViewClickHandling/app/src/main/java/com/example/android/recyclerview/ MainActivity.java

為了處理RecyclerView.Adapter(本教程中的實例GreenAdapter)中的項目單擊,我們創建了一個接口來接收來自活動的onclick消息。 然后,我們通過重寫onListItemClick在MainActivity中實現該接口。 代碼如下所示

public class GreenAdapter extends RecyclerView.Adapter<GreenAdapter.NumberViewHolder> {
public interface ListItemClickListener {
    void onListItemClick(int clickedItemIndex);
}  
final private ListItemClickListener mOnClickListener;
public GreenAdapter(int numberOfItems, ListItemClickListener listener) {
    mNumberItems = numberOfItems;
    mOnClickListener = listener;
    viewHolderCount = 0;
}}

和活動

public class MainActivity extends AppCompatActivity implements GreenAdapter.ListItemClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main); 
mAdapter = new GreenAdapter(NUM_LIST_ITEMS, this);}

是指活動實例,但是GreenAdapter構造函數采用ListItemClickListener類型。

這怎么可能。 如何將Activity作為ListItemClickListener類型傳遞/投射。

在這里, this意味着您的MainActivity具有ListItemClickListener的實現。 從官方文檔中閱讀Android的文檔。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM