1
内に表示されるアイテムを取得します次のようになります。私は側で</p> <p>私のフラグメントの活動を私が持っているrecyclerview内に表示されるアイテムを取得するには、以下のようにコードを使用していRecyclerView
public class XamarinRecyclerViewOnScrollListener : RecyclerView.OnScrollListener
{
public delegate void LoadMoreEventHandler(object sender, EventArgs e);
public event LoadMoreEventHandler LoadMoreEvent;
private LinearLayoutManager layoutmanager;
private Action StateChange;
private FeedAdapter adapter;
private View currentFocusedLayout, oldFocusedLayout;
private Context ctx;
public XamarinRecyclerViewOnScrollListener(LinearLayoutManager layoutManager)
{
this.layoutmanager = layoutManager;
}
public XamarinRecyclerViewOnScrollListener(Context ctx, LinearLayoutManager layoutmanager, FeedAdapter adapter)
{
// TODO: Complete member initialization
this.layoutmanager = layoutmanager;
this.adapter = adapter;
this.ctx = ctx;
//this.StateChange = StateChange;
}
public override void OnScrollStateChanged(RecyclerView recyclerView, int newState)
{
base.OnScrollStateChanged(recyclerView, newState);
if (newState == (int)ScrollState.Idle)
{
layoutmanager = (LinearLayoutManager)recyclerView.GetLayoutManager();
int firstVisiblePosition = layoutmanager.FindFirstCompletelyVisibleItemPosition();
if (firstVisiblePosition >= 0)
{
if (oldFocusedLayout != null)
{
Toast.MakeText(ctx, "Stop Video", ToastLength.Long).Show();
}
}
currentFocusedLayout = layoutmanager.FindViewByPosition(firstVisiblePosition);
//VideoView vv_dashboard = (VideoView)currentFocusedLayout.findViewById(R.id.vv_dashboard);
////to play video of selected recylerview, videosData is an array-list which is send to recyclerview adapter to fill the view. Here we getting that specific video which is displayed through recyclerview.
//playVideo(videosData.get(positionView));
Toast.MakeText(ctx, "Play video", ToastLength.Long).Show();
oldFocusedLayout = currentFocusedLayout;
}
}
}
layoutmanager.FindFirstCompletelyVisibleItemPosition()
常に-1を返します。私は、画面に表示されている項目をリストに設定し、その項目で何かをしたいと思っています。私はさまざまなソリューションを試しましたが、どれも働いていませんでした。これを達成する正しい方法は何ですか?
誰でも助けてくれますか? –