通过cliking项目获取MvxListView的项目位置

时间:2015-08-12 10:09:16

标签: listview xamarin.android

<Mvx.MvxListView
    android:id="@+id/mylist"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:scrollbars="horizontal"
    local:MvxBind="ItemsSource productlist"
    local:MvxItemTemplate="@layout/productitem" />

如何通过点击 MvxListView 的行来获取项目位置?

2 个答案:

答案 0 :(得分:0)

int cposition =0; // your global variable 

listview.setOnItemClickListener(new OnItemClickListener() {
   @Override
        public void onItemClick(AdapterView<?> a, View v, int position, long id) { 
           cposition =position;
    }  
 });

答案 1 :(得分:0)

不幸的是, MvxListView 的工作方式是在处理项目点击事件并调度到您的命令时吞下项目位置。请参阅bind click eventdispatch command

您可以继承 MvxListView 并覆盖 ExecuteCommandOnItem()方法来捕获位置。

类似的东西:

public class MyMvxListView : MvxListView
{
    // add constructors here

    // property to capture position
    public int Position { get; private set; }

    public override void ExecuteCommandOnItem(ICommand command, int position)
    {
        // store position
        Position = position;

        // call base class
        base.ExecuteCommandOnItem(command, position);   
    }
}